Я использую Qt Creator’s Qt Quick и, как было предложено в руководстве, я сделал разные .qml для каждой кнопки.
Я хочу, чтобы при нажатии на кнопку появлялось всплывающее окно. Что я должен написать после
onClicked:
в области мыши.
Также, как сделать второе окно (всплывающее), что я должен добавить в проект, чтобы я мог оформить его как основное?
Я прочитал, что мне нужно создать класс, который наследуется с QWidget, но мне нужно немного больше информации.
Короткий пример был бы великолепен.
как предложено в учебнике, я сделал разные .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 (в некоторый момент).