Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt Assign MenuItem。快捷方式指定的附加对象无效_Qt_Qml_Shortcut_Menubar - Fatal编程技术网

Qt Assign MenuItem。快捷方式指定的附加对象无效

Qt Assign MenuItem。快捷方式指定的附加对象无效,qt,qml,shortcut,menubar,Qt,Qml,Shortcut,Menubar,以下代码: import QtQuick 2.12 import QtQuick.Window 2.12 import QtQuick.Layouts 1.3 import QtQuick.Controls 2.5 import QtQuick.Controls.Styles 1.4 Window { visible: true width: 640 height: 480 title: qsTr("This is my application tit

以下代码:

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.5
import QtQuick.Controls.Styles 1.4

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("This is my application title!")

    ColumnLayout
    {

        id: col1
        spacing: 2
  
        MenuBar
        {
            Menu {
                title: "File"
                MenuItem {
                    text: "Open"
                    Shortcut: "Ctrl+O"
                    onTriggered: console.log("Ctrl+O trigged")
                }
                MenuItem { text: "Paste link from Ctrl+V" }
                MenuItem { text: "Save log as" }
            }
            Menu {  title: "Help" }
            Menu {  title: "About" }
            Menu {  title: "Exit" }
        }
   }
请给出以下错误:

qrc:/main.qml:25:21:无效的附加对象分配

错误行是
快捷键:“Ctrl+O”
。Qt给出了这样的例子。我错过了什么

编辑:添加了文档链接。
编辑2:更新的导入在qml中至少有两组控件:

  • Qt快速控制1
  • Qt快速控制2
由于您试图将MenuItem的属性从一个组应用到另一个组,因此这些组的组件与导致错误的组件相同(请检查导入以了解错误)

根据要使用的组,有不同的选项:

Qt快速控制1

import QtQuick 2.12

import QtQuick.Controls 1.4

ApplicationWindow {
    visible: true
    width: 640
    height: 480
    title: qsTr("This is my application title!")

    menuBar: MenuBar{
        Menu {
            title: "File"
            MenuItem {
                text: "Open"
                shortcut: "Ctrl+O"
                onTriggered: console.log("Ctrl+O trigged")
            }
            MenuItem{ text: "Paste link from Ctrl+V" }
            MenuItem { text: "Save log as" }
        }
        Menu {  title: "Help" }
        Menu {  title: "About" }
        Menu {  title: "Exit" }
    }
}
Qt快速控制2

import QtQuick 2.12

import QtQuick.Controls 2.12

ApplicationWindow {
    visible: true
    width: 640
    height: 480
    title: qsTr("This is my application title!")

    menuBar: MenuBar{
        Menu {
            title: "File"
            Action {
                text: "Open"
                shortcut: "Ctrl+O"
                onTriggered: console.log("Ctrl+O trigged")
            }
            Action { text: "Paste link from Ctrl+V" }
            Action { text: "Save log as" }
        }
        Menu {  title: "Help" }
        Menu {  title: "About" }
        Menu {  title: "Exit" }
    }
}
可能您在样式方面也会遇到类似的问题,因此建议您阅读我在其中指出的内容,如果您希望组合这两个模块的组件,则使用名称空间是一种解决方案


注意:QML区分大小写,在您指定的文档中,它表示shortcut,但您使用shortcut。

请显示导入,并指向您在文档中指定的文档链接question@eyllanesc使用链接和qml导入更新?@eyllanesc抱歉,现在添加谢谢!关于为导入使用名称空间的建议非常有用!