我想重新实现运行函数,创建我自己的QThread类。
我创造了这个,
class MyThread : public QThread
{
public:
void run();
};
void MyThread::run()
{
gui w;
w.listen_device(w.ui->comboBox->currentIndex());
exec();
}
我不能在主线程之外使用QPaint,所以我将值作为参数提供给我的listen_device函数。
我知道来自gui的ui受到保护,所以我怎样才能获得这个值?
感谢。
答案 0 :(得分:1)
在gui
类中创建将返回ui->comboBox->currentIndex();
public:
int gui::getCurrentIndex() // or whatever
{
return ui->comboBox->currentIndex();
}
并且不要将QThread
作为子类,而是使用moveToThread()
上的QObject
代替。