在子线程里控制主界面的UI控件的方法:在子线程中发送信号,然后在主线程中去更新
//在子线程中发出信号
emit UpdateUI("Hello World!");
//在主线程中连接信号和槽函数connect(pMyThread, &MyThread::UpdateUI, this, &MyClass::UpdateUIHandler);
//在槽函数中更新UI
void MyClass::UpdateUIHandler(QString text )
{
ui->label->setText(text);
}
下面是主线程类:
MyThread *pMyThread = new MyThread ; //创建子线程对象
pMyThread ->pEdit=ui->lineEdit; //将主界面UI指针赋给子线程中的指针对象
pMyThread ->start(); //启动子线程