-2
我面對關於信號和Qt的槽機制的問題。問題的核心是在這裏:Qt的:在一個按鈕更新多個值點擊
我的應用程序由2類:
MainGUI:這個類有應用程序的所有核心功能,並具有一定的變量,存儲相關的應用價值。
偏好:這個類用於繪製和顯示一個設置面板,並且具有用於更新在MainGUI變量行編輯字段(使用信號 - 槽機構)
目前,我已經連接它們作爲如下:
Preferences *Pref;
MainGUI *M;
.
.
.
connect(Pref, SIGNAL(pref_varAChanged(QString)), M, SLOT(setVarA(QString)));
connect(Pref, SIGNAL(pref_varBChanged(QString)), M, SLOT(setVarB(QString)));
connect(Pref, SIGNAL(pref_varCChanged(QString)), M, SLOT(setVarC(QString)));
.
.
.
但是,什麼這部分工作是,只要值改變,則更新變量,即使我還沒有點擊「應用」按鈕(或等效的接受按鈕... )
請幫助我實現這個功能,值A,B,C得到更新只有當按鈕,說,btn_accept被點擊...
PS:我知道這似乎是一個非常容易的問題,應該是隻有幾行,但我一直在試圖解決它,每次都撞牆。我會很感激,如果有人能在正確的方向
額外的信息: 目前,我寫了這個代碼來實現前面提到的功能,但在我點擊接受按鈕值實際更新。 '空隙設定:: on_btn_accept_clicked() { 發射pref_varAChanged(UI-> lineEditA->文本()); 發射pref_varBChanged(UI-> lineEditB->文本()); emit pref_varCChanged(ui-> lineEditC-> text()); }' –
不知道如果我完全理解你,但你爲什麼不掛鉤的按鈕信號的插槽,而不是由文本框所發出的信號? – Bart
爲什麼不嘗試用單擊btn_accept時QLineEdits的三個QString參數發出一個信號? –