大家好,我現在有一個問題想請教一下,謝謝! 我用用qt編了兩個界面,不妨分別命名為form1.ui和form2.ui,在form1中設定一個按鈕,點擊時可以彈出form2(可以實作)。 在form1中設定另一個按鈕,點擊時執行資料采集程式段,可以進行資料采集。我想把這個時候采集到的資料實時顯示在form2中 但是我試了幾種方法,form1采集到的資料怎么都不能在form2中顯示,不知道怎么樣才能實作這個功能,謝謝
uj5u.com熱心網友回復:
設form1.ui對應的類為form1Classform2.ui對應的類為form2Class。資料采集程式應該是一個耗時操作,那么就需要另開一個執行緒來做資料采集作業,如果在主執行緒中做,界面無法回應訊息,更無法實時現實采集的資料。設作業執行緒為SampleThread,class form1Class{...form1Class frm;SampleThread* procTrd;void OnProcBtnClicked();//btn1按鈕clicked信號的回應函式void OnShowFrm1BtnClicked();//btn2按鈕的clicked信號的回應函式...};在SampleThread中定義一個signal: void ShowData(QString& data),當需要現實資料時emit一下。在form2Class中定義一個slot:void OnShowData(QString& data),用于回應ShowData signal。在form1Class 中把signal和slot連接好。OnProcBtnClicked中啟動采集執行緒,執行緒的run函式中合適的位置emit ShowDatauj5u.com熱心網友回復:
樓上的你好我的兩個界面都是用qt designer作出來的,在form2中有一些lineedit,這些編輯框用來顯示要采集的資料。假設在form1中采集的資料分別放在data1,data2……datan里面,下面的程式該怎么寫 阿?謝謝!uj5u.com熱心網友回復:
在form1中加入一個method call,資料采集完之后,通過判斷哪些資料發生變化,然后通過sendEvent發送給form2視窗,這樣速度最快或者直接通過在form1中添加form2類的指標來操作uj5u.com熱心網友回復:
直接通過在form1中添加form2類的指標來操作?怎么做啊?我在form1中設定了form2表單的指標, Form2 *dialog1 = new Form2(this,"Form2",TRUE); dialog1->exec();并且在Form2中定義了其中的lineedit的name為lineedit1,……,lineedit10(假設10個編輯框)當我在form1中 dialog1->settext(lineedit1(tr“4”))的時候,報錯說lineedit1沒有定義是不是應該把lineedit1定義為public什么的啊?但是我又不知道該怎么去定義,謝謝指教uj5u.com熱心網友回復:
你這種樣子的話可以這樣做Form2 *dialog1 = new Form2(this,"Form2",TRUE);connect(this, SIGNAL(), dialog1, SLOT());來做uj5u.com熱心網友回復:
請問樓主解決了嗎?同樣遇到這個問題轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/277866.html
標籤:其他技術討論專區
上一篇:scrapy get_media_requests沒有執行,怎么回事,有誰知道嗎
下一篇:目前最好的建站系統有哪些?
