qt5.12.1 桌面应用的想操作qml控件 或者 在qml文件要调用桌面应用的窗口dialog类 .基本上我已经解决了.但是qml文件不是嵌入到mainwindow中的,而是分开的哦.下图就是演示.mainwindow窗口和qml窗口(标题:仓库管理系统)新建桌面应用的项目,然后main.cpp中写入如下代码即可.
#include "mainwindow.h"
#include <QApplication>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QQmlApplicationEngine>
#include <QWindow>
#include <QQmlEngine>
#include <QDebug>
#include"shujuku.h"
//#include"tablemodel.h"
#include <QQmlProperty>
#include <QQmlComponent>
#include <QApplication>
#include <QQmlContext>
#include <QVariant>
#include <QSqlTableModel>
#include<QMap>
#include <QWindow>
#include <QPushButton>
#include <QQuickStyle>
//class ClassMate;
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QQuickStyle::setStyle("Material");//桌面程序中引用qml文件无法加载默认的效果,需要用此
//注册C++的Dialog类,到qml文件中可以使用Dialog0模块
qmlRegisterType<Shujuku>("Shujuku.module",1,0,"Shujuku");
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/new/prefix1/main.qml")));
if (engine.rootObjects().isEmpty())
return -1;
MainWindow w;
w.show();
return a.exec();
}
我这里实现的就是c++项目加载qml文件,qml中发送信号,就可以调用qt的c++类..接下来的再发布,我会把互相操作的例子写下.qt中国群218967017/218967042