Qt Creator: кнопка Нажмите Signal, чтобы открыть окно

Я использую Qt Creator’s Qt Quick и, как было предложено в руководстве, я сделал разные .qml для каждой кнопки.

Я хочу, чтобы при нажатии на кнопку появлялось всплывающее окно. Что я должен написать после

onClicked:

в области мыши.

Также, как сделать второе окно (всплывающее), что я должен добавить в проект, чтобы я мог оформить его как основное?

Я прочитал, что мне нужно создать класс, который наследуется с QWidget, но мне нужно немного больше информации.

Короткий пример был бы великолепен.

-1

Решение

как предложено в учебнике, я сделал разные .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 (в некоторый момент).

0

Другие решения


По вопросам рекламы [email protected]