當我嘗試在從 QObject 派生的類中啟動 QTimer 時,我收到警告
QObject::startTimer:定時器只能用于以 QThread 啟動的執行緒
并且計時器不運行。根據這里的答案,我的自定義類似乎沒有檢測到 QGuiApplication 創建的 QEventLoop。
我的主.cpp
...
classA objA;
...
QGuiApplication app(argc, argv);
...
我的班級A.h
class classA : public QObject
{
Q_OBJECT
private:
QTimer m_oTimer;
...
我的類A.cpp
classA::classA()
{
...
m_oTimer.start(100);
...
}
如何在不創建新 QEventLoop 的情況下解決該問題?
uj5u.com熱心網友回復:
我能夠通過更改 classA 和 QGuiApplication 的宣告順序來解決問題。似乎對于任何要檢測 QGuiApplication Eventloop 的 QObject 子類,它必須在 QGuiApplication 之后宣告。
我的 main.cpp:
...
QGuiApplication app(argc, argv);
...
classA objA;
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/337950.html
上一篇:編輯和同步功能中的驗證
