初心者の質問ですが、実際には行き詰まっています。「高レベル」のc++スレッド関数(pthreadもQThreadも)を使用することは許可されていません。ただし、winAPI関数createThreadを使用して作成する必要のあるスレッドがいくつかあります。そして、それらのスレッドはいくつかの変数を変更するために使用します。QLineEditコンポーネントでこれらの変数を1秒ごとに表示したいと思います。だから私は次のようなコードを試しました:
stillWorking = true;
while(stillWorking){
ui->editElement->setText(QString::number(getVariableValue()));
qDebug() << 'running!!!'
Sleep(1000);
}
stillWorking
ブール値は、いくつかのボタンがクリックされたときに設定されますfalse
。それが私がこのループを止めたい方法です。しかし、コードを実行すると、editElement
は更新されず、アプリケーションは応答を停止します。ただし、'running!!!'
文字列は毎秒デバッグセクションに適切に出力されます。それで、私の変数にアクセスして表示する他の方法はありますか?