Qt窗體間傳值之public函式介面

2021-07-26 07:07:44 字數 835 閱讀 8993

在前兩篇博文中,已經展示了兩種窗體間傳值的方式,這裡介紹另一種,使用public函式介面的方式,這裡就牽扯到兩個方向間的傳值,父到子以及子到父視窗,通過這種方式都很容易做到,如子到父,可以在子窗體中實現乙個public方法如preparedoingdata(&data),將需要處理的data的引用傳遞到子窗體,子窗體中可以對其進行操作,這裡展示父到子的傳值:

在dialog介面中增加乙個textedit用於顯示最終傳遞的內容,並增加乙個公有的方法:

[cpp]view plain

copy

public

:  void

settexteditdata(qstring data);  

void

dialog::settexteditdata(qstring data)    

上面部分是在標頭檔案中的內容,下面為在.cpp中的內容,而在mainwindow.cpp中只需要進行呼叫即可:

[cpp]view plain

copy

dlg->settexteditdata(qstring(

"我來測試公有介面方式傳值!"

最終的結果

至此,三種傳值的方式已經全部講解完畢,具體在專案中國使用哪種方式進行傳值,則要視具體情況而定。個人感覺,基本傳值可以採用訊號槽方式降低耦合,系統配置可以使用單例模式然後在各個介面中進行配置,而public介面方式則適用於父子間窗體傳值。

**

WinForm窗體間傳值

form1 主窗體 namespace firstdlg public string textstored set private void button1 click object sender,eventargs e private void form1 load object sender,e...

(C )WinForm窗體間傳值

1.通過建構函式 特點 傳值是單向的 不可以互相傳值 實現簡單 實現 如下 在窗體form2中 int value1 string value2 public form2 int value1 string value2 在窗體form1中這樣呼叫 new form2 111 222 show 這樣...

(C )WinForm窗體間傳值

1.通過建構函式 特點 傳值是單向的 不可以互相傳值 實現簡單 實現 如下 在窗體form2中 int value1 string value2 public form2 int value1 string value2 在窗體form1中這樣呼叫 new form2 111 222 show 這樣...