相关疑难解决方法(0)

Qt -Timers只能用于以QThread启动的线程

我的代码是

class ExampleTest : public QObject
{
    Q_OBJECT

public:
    ExampleTest() {}

private Q_SLOTS:
   void DoAllExampleTests();
};

void ExampleTest::DoAllExampleTests()
{
    QProcess p;

    p.start( "cmd /c wmic path Win32_usbcontrollerdevice|grep VID_1004" );
    qDebug() << "Here 1";
    QVERIFY( TRUE == p.waitForFinished() );
    qDebug() << "Here 2";
}

QTEST_APPLESS_MAIN(ExampleTest);
Run Code Online (Sandbox Code Playgroud)

我在Here 1和Here 2之间获得了一个qwarn

QObject::startTimer: Timers can only be used with threads started with QThread
Run Code Online (Sandbox Code Playgroud)

我从QObject :: startTimer学到了:Timers只能用于用QThread启动的线程,当我将Qt类子类化并且子类的一个成员不是Qt层次结构的一部分时.我有从QObject继承的类ExampleTest,但我仍然收到警告.如何避免这种警告?

c++ oop qt unit-testing

7
推荐指数
1
解决办法
5464
查看次数

标签 统计

c++ ×1

oop ×1

qt ×1

unit-testing ×1