トップページ > プログラム > 2020年09月28日 > iMi4NbKw

書き込み順位&時間帯一覧

20 位/163 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000202



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 19

書き込みレス一覧

【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 19
123 :デフォルトの名無しさん[sage]:2020/09/28(月) 22:00:51.47 ID:iMi4NbKw
マルチスレッドで、QThreadの管理用のクラスを作りたくない人向けの書き方考えたんですがどうでしょう
myClassオブジェクトを作ると勝手に別スレッドに移行して、fin()スロットを呼べば元のスレッドに帰ってきます
【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 19
124 :デフォルトの名無しさん[sage]:2020/09/28(月) 22:01:36.75 ID:iMi4NbKw
class myClass : public QObject{
Q_OBJECT
private:
 QThread* th;
public:
 myClass();
 virtual ~myClass(){}
pulic slots:
 void fin();
signals:
 void thread_quit();
};

myClass():th(new QThead()){
 connect(
   this,
   &myClass::thread_quit,
   th,
   [&]{ th->quit(); th->wait(); delete th; }
 );
 moveToThread(th);

 // other initializations

 th->start();
}

void myClass::fin(){
 moveToThread(th->thread());
 emit thread_quit();
}


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。