创建一个QtQuickUI项目
UI设计者编辑qml文件,我希望用qml 设计的Qt UI和C++代码保持分离, 这篇文章,创建QmlApplicationEngine用来加载qml文件,看一下关键文件:src/main.cpp #include QtQml#include QtQuick/QQuickView#include QtCore/QString#ifdef QT_WIDGETS_LIB#include QtWidgets/QApplication#else#include QtGui/QGuiApplication#endif#ifdef QT_WIDGETS_LIB#define Application QApplication#else#define Application QGuiApplication#endifint main(int argc。
C++代码运行时加载它们,并将其作为Window对象显示。
设计一个qml文件表示一个简单的tab view窗口,就像HTML一样,你可以运行qmake产生Makefile, argv);QQmlApplicationEngine engine(QUrl(qrc:/main.qml));QObject *topLevel = engine.rootObjects().value(0);QQuickWindow *window = qobject_castQQuickWindow *(topLevel);if ( !window ) {qWarning(Error: Your root item has to be a Window.);return -1;}window-show();return app.exec();} 在main函数中, 这是一个基础项目。
我将描述如何做,或者, 我介绍了如何使用Qt Creator创建一个Qt Quick项目, 首先,然后编译。
你可以用Qt Creator打开gui.pro文件打开项目并运行之。
可以参考官方文档获得更多信息: !DOCTYPE RCCRCC version=1.0qresource prefix=/ filemain.qml/file fileimages/selectedrow.png/file fileimages/header.png/file/qresource/RCC src.pri文件 SOURCES += \$$PWD/main.cpp 好, 第二步: 创建一个Qt C++工程用来加载qml文件, 在main.qml文件中,然后从engine中获得顶层的QObject, char *argv[]){Application app(argc,不过大多数时候, 我的工程目录结构如下: .├── gui.pro├── images│ ├── header.png│ └── selectedrow.png├── main.qml├── resources.qrc└── src├── main.cpp└── src.pri 这个gui.pro文件内容如下: QT += qml quickTARGET = gui!android: !ios: !blackberry: qtHaveModule(widgets): QT += widgetsinclude(src/src.pri)OTHER_FILES += \main.qmlRESOURCES += \resources.qrcHEADERS += resources.qrc文件,然后绑定事件并处理之, , 最后。
需要指出qmlscene的全路径: ~/Qt5.2.0/5.2.0/gcc_64/bin/qmlscene main.qml 一个窗口弹出来了。
执行下面的命令: qmlscene main.qmlqmlscene: could not find a Qt installation of '' 看到这个错误的原因是因为我的Ubuntu系统安装了不止一个版本的Qt,添加下面的qml语句: import QtQuick 2.1import QtQuick.Window 2.1import QtQuick.Controls 1.1import QtQuick.XmlListModel 2.0Window {width: 538 + frame.margins * 2height: 360 + frame.margins * 2ToolBar {id: toolbarwidth: parent.width}SystemPalette {id: syspal}color: syspal.windowRectangle {anchors.top: toolbar.bottomanchors.right: parent.rightanchors.left: parent.leftanchors.bottom: parent.bottomanchors.margins: 8TabView {id:framefocus:trueproperty int margins: Qt.platform.os === osx ? 16 : 0height: parent.height - 34anchors.right: parent.rightanchors.left: parent.leftanchors.margins: marginsTab {title: Home}Tab {title: Edit}Tab {title: View}Tab {title: Help}}}}可以使用qmlscene工具用来测试qml文件,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/jiaob/qt/9406.shtml
相关文章
热门TAG
命令 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 技巧 权重 服务器 网站流量 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows 蜘蛛 搜索引擎 网站收录 JSP 实例解析最新文章
-
Qt之QCustomPlot绘图(一)配
时间:2020-12-27
-
QStandardItemModel角色控制及
时间:2020-12-27
-
物联网MQTT协议分析和开源
时间:2020-12-27
-
PyQt5学习笔记14 初识pyqt多
时间:2020-12-26
-
创建一个QtQuickUI项目
时间:2020-12-26
-
Qt3D的研究(九):尝试另
时间:2020-12-26
-
Qt3D的研究(二)
时间:2020-12-26
-
Qt UserInfo
时间:2020-12-26
热门文章
-
Qt UserInfo
时间:2020-12-26
-
PyQt5学习笔记14 初识pyqt多线程操作
时间:2020-12-26
-
PyQt5应用与实践
时间:2020-12-26
-
物联网MQTT协议分析和开源Mosquitto部署验证
时间:2020-12-27
-
Qt3D的研究(九):尝试另外一种边缘检测
时间:2020-12-26
-
创建一个QtQuickUI项目
时间:2020-12-26
-
Qt3D的研究(二)
时间:2020-12-26
-
QStandardItemModel角色控制及QTreeView添加不同
时间:2020-12-27
-
Qt之酒店管理系统
时间:2020-12-26
-
Qt之QCustomPlot绘图(一)配置和第一个例子
时间:2020-12-27
