我想重新实现run函数,创建我自己的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是受保护的,那么我该如何获得这个值呢?
谢谢。
在gui
类中创建将返回ui->comboBox->currentIndex();
的公共方法
public:
int gui::getCurrentIndex() // or whatever
{
return ui->comboBox->currentIndex();
}
并且不要对QThread
进行子类化,而是在QObject
上使用moveToThread()
。