Qt Creator:按钮单击信号以弹出一个窗口

时间:2014-09-27 13:43:24

标签: c++ qt uibutton window

我正在使用Qt Creator的Qt Quick,并且根据教程中的建议,我为每个按钮制作了不同的.qml。

我希望在单击按钮时弹出一个窗口。我应该在

之后写些什么
onClicked: 

在mouseArea中。

另外如何制作第二个窗口(弹出窗口),我应该将哪些内容添加到项目中,以便我可以将其设计为主要窗口?

我读到我必须创建一个继承QWidget的类,但我需要更多信息。

一个简短的例子就是很棒。

1 个答案:

答案 0 :(得分:0)

  

如教程中所建议的,我为每个按钮制作了不同的.qml

当然,你的意思是"对于每个按钮类型"!?

启动第二个窗口:

// Main.qml
Window {
    id: win
    width: 640
    height: 480

    Button {
        text: qsTr( "Open" )
        anchors.horizontalCenter: parent.horizontalCenter
        anchors.verticalCenter: parent.verticalCenter

        onClicked: {
            var factory = Qt.createComponent( "Popup.qml" );
            factory.createObject( win );
        }
    }
}

// Popup.qml
Window {
    height: 240
    width: 320
    title: qsTr( "Popup" )
    visible: true

    Text {
        text: qsTr( "Hello" )
        anchors.centerIn: parent
    }
}
  

我读到我必须创建一个继承QWidget

的类

除非您正在扩展/转换旧系统,否则不要混用QML和Qt Widgets模块,QML旨在取代Qt Widgets(在某些时候)。