zoukankan      html  css  js  c++  java
  • Qt Quick App的两种启动模式

    QQmlApplicationEngine搭配Window
    QQuickView搭配Item
    两者不同之处在于
    使用QQuickView显示QML文档,对窗口的控制权(比如设置窗口标题、Icon、窗口的最小尺寸等)在C++代码;而使用QQmlApplicationEngine加载以Window为根对象的QML文档,QML文档则拥有窗口的完整控制权,可以直接设置标题、窗口尺寸等属性。
    1、QQmlApplicationEngine搭配Window启动方式:
    main.c文件
    1. int main(int argc, char *argv[])
    2. {
    3. QApplication app(argc, argv);
    4. QQmlApplicationEngine engine;
    5. engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    6. return app.exec();
    7. }
    main.qml文件
    1. ApplicationWindow {
    2. title: qsTr("Hello World")
    3. width: 640
    4. height: 480
    5. visible: true
    6. menuBar: MenuBar {
    7. Menu {
    8. title: qsTr("&File")
    9. MenuItem {
    10. text: qsTr("&Open")
    11. onTriggered: messageDialog.show(qsTr("Open action triggered"));
    12. }
    13. MenuItem {
    14. text: qsTr("E&xit")
    15. onTriggered: Qt.quit();
    16. }
    17. }
    18. }
    19. MainForm {
    20. anchors.fill: parent
    21. button1.onClicked: messageDialog.show(qsTr("Button 1 pressed"))
    22. button2.onClicked: messageDialog.show(qsTr("Button 2 pressed"))
    23. button3.onClicked: messageDialog.show(qsTr("Button 3 pressed"))
    24. }
    25. MessageDialog {
    26. id: messageDialog
    27. title: qsTr("May I have your attention, please?")
    28. function show(caption) {
    29. messageDialog.text = caption;
    30. messageDialog.open();
    31. }
    32. }
    33. }
    窗口

    2、QQuickView搭配Item
    main.c文件
    1. #include <QApplication>
    2. #include <QQuickView>
    3. #include <QGuiApplication>
    4. #include <QQmlApplicationEngine>
    5. int main(int argc, char *argv[])
    6. {
    7. QGuiApplication app(argc, argv);
    8. QQuickView viewer;
    9. viewer.setResizeMode(QQuickView::SizeRootObjectToView);
    10. viewer.setSource(QUrl("qrc:///main.qml"));
    11. viewer.show();
    12. return app.exec();
    13. }
    main.qml文件
    1. import QtQuick 2.4
    2. import QtQuick.Controls 1.3
    3. import QtQuick.Window 2.2
    4. import QtQuick.Dialogs 1.2
    5. Rectangle{
    6. width: 320;
    7. height: 240;
    8. }





  • 相关阅读:
    hdu--2578--与女孩约会
    hdu--2588--欧拉函数||容斥原理
    hdu--2586--lca_tarjan<证明tarjan这个人很流弊>
    hdu--3743--归并排序<自顶向下&&自底向上>2种写法
    hdu--4911--归并排序||树状数组
    hdu--2639--01背包第K解<不同决策的不同解法>
    hdu--2642--二维BIT
    hdu--3833--4000ms才能过的O(N^2)算法
    hdu--3835--最简单的数学..
    hdu--3836--tarjan+缩点
  • 原文地址:https://www.cnblogs.com/mcumagic/p/5320324.html
Copyright © 2011-2022 走看看