ui是受保护的,但是如何在重新实现的Qthread run()函数中使用它



我想重新实现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()

相关内容

  • 没有找到相关文章

最新更新