0

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が保護されていることを知っているので、どうすればこの値を取得できますか?

ありがとう。

4

1 に答える 1

1

Create public method in gui class which will return ui->comboBox->currentIndex();

public:
  int gui::getCurrentIndex() // or whatever
  { 
    return ui->comboBox->currentIndex();
  }

And don't subclass QThread, use moveToThread() on QObject instead.

于 2013-02-19T20:52:26.737 に答える