Win 7 で 5.0.2 を使用する
[QWidget を拡張する] 2 つの「ImageLoop」クラスがあり、それぞれが画面の半分を占め、垂直に分割されます。それぞれに、jpg ファイルのリストを表示するための QLabel が含まれています。したがって、for ループ内で、各ウィジェットに画像のリストを与え、2 つのウィジェットのそれぞれのスロット「playList」に接続した「listfull」シグナルを発行します。残念ながら、最初のウィジェットのみが更新されるため、最初のウィジェットのシグナルのみが発行されるようです。
Qt プログラミングは初めてで、スロット/シグナル システムを誤解している可能性があります。以下の疑似コードは、インスタンスごとにリストを埋め、シグナルを発し、各インスタンスは楽しい方向に進みます。基本的に、各ウィジェットは同時に独立して画像を表示します。それで、質問は私が欠けているものですか?それとも、これらをそれぞれ独自のスレッドで生成する必要がありますか?
ありがとう!
疑似コード
for(int i=0; i<2; i++){
Create ImageLoop instance
connect(instance, SIGNAL(listfull()), instance, SLOT(playList()));
instance->FillList(arrayOfImageFileNames);
}
//inside of ImageLoop class
void FillList(arrayOfImageFileNames) {
//adds all files to an internal list
//when finished
emit listfull();
}
//inside of ImageLoop class
void playList() {
//code to loop through each image and show it
}