[英]Use multithread in c++ and qml
main.cpp
int main(int argc, char* argv[])
{
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc,argv);
QQmlApplicationEngine engine;
BlueToothdevice d;
engine.rootContext()->setContextProperty("device", &d);
qDebug()<<"main thread:"<< QThread::currentThreadId();
engine.load(QUrl(QStringLiteral("qrc:/assets/main.qml")));
return app.exec();
}
蓝牙设备
class BlueToothdevice : public QObject { balabalabala }
蓝牙设备.cpp
balabalabala
main.qml
...
Text {
id: bloodglucoseText2
text: device.bdsugar
font.pixelSize: 6 * dpi
}
...
如何将main.cpp中定义的对象“ d”移动到另一个线程? 我仍然想使用对象“ d”而不进行更改。
在Qt类中定义属性和可调用的方法。
// Define the property bdsugar, accessible from Qml
Q_PROPERTY(bdsugar READ getBdSugar WRITE setBdSugar NOTIFY on BdSugarChanged)
// Define the method bdsugar, callable from Qml
Q_INVOKABLE QString bdsugar( return my_bdsugar; ) const;
但是没有必要将对象d移到另一个线程(或者我不明白这个问题)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.