对话框MessageDialog
官方介绍: https://doc.qt.io/qt-5/qml-qtquick-dialogs-messagedialog.html
效果:
源码:
实现方式一:
import QtQuick 2.7
import QtQuick.Controls 1.4
import QtQuick.Layouts 1.3
import QtQuick.Dialogs 1.2
ApplicationWindow {
visible: true
width: 640
height: 480
color: "black";
title: "消息对话框";
id: root;
menuBar: MenuBar{
Menu {
title: "帮助";
MenuItem{
text: "关于";
onTriggered: root.showAbout();
}
}
}
function showAbout(){
if(aboutDlg == null){
aboutDlg = Qt.createQmlObject(
'import QtQuick 2.2;
import QtQuick.Dialogs 1.1;
MessageDialog{
icon: StandardIcon.Information;
title: "关于";\n
text: "仅仅是个示例";\n
standardButtons:StandardButton.Ok;
}',
root, "aboutDlg");
aboutDlg.accepted.connect(onAboutDlgClosed);
aboutDlg.rejected.connect(onAboutDlgClosed);
aboutDlg.visible = true;
}
}
function onAboutDlgClosed(){
aboutDlg.destroy();
aboutDlg = null;
}
}
实现方式二:
MessageDialog {
id: messageDialog
title: qsTr("May I have your attention, please?")
function show(caption) {
messageDialog.text = caption;
messageDialog.open();
}
}
调用: messageDialog.show(errorInfoString)