我正在使用Qt Creator的Qt Quick,并且根据教程中的建议,我为每个按钮制作了不同的.qml。
我希望在单击按钮时弹出一个窗口。我应该在
之后写些什么onClicked:
在mouseArea中。
另外如何制作第二个窗口(弹出窗口),我应该将哪些内容添加到项目中,以便我可以将其设计为主要窗口?
我读到我必须创建一个继承QWidget的类,但我需要更多信息。
一个简短的例子就是很棒。
答案 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(在某些时候)。