天天看點

linux向函數傳值的例子,Qt窗體間傳值之public函數接口

在前兩篇博文中(見 http://www.linuxidc.com/Linux/2014-03/98899.htm 與 http://www.linuxidc.com/Linux/2014-03/98901.htm ),已經展示了兩種窗體間傳值的方式,這裡介紹另一種,使用public函數接口的方式,這裡就牽扯到兩個方向間的傳值,父到子以及子到父視窗,通過這種方式都很容易做到,如子到父,可以在子窗體中實作一個public方法如prepareDoingData(&data),将需要處理的data的引用傳遞到子窗體,子窗體中可以對其進行操作,這裡展示父到子的傳值:

在Dialog界面中增加一個TextEdit用于顯示最終傳遞的内容,并增加一個公有的方法:

public:

void setTextEditData(QString data);

void Dialog::setTextEditData(QString data)

{

ui->textEdit->setText(data);

}

上面部分是在頭檔案中的内容,下面為在.cpp中的内容,而在mainwindow.cpp中隻需要進行調用即可:

dlg->setTextEditData(QString("我來測試公有接口方式傳值!"));

linux向函數傳值的例子,Qt窗體間傳值之public函數接口

最終的結果

至此,三種傳值的方式已經全部講解完畢,具體在項目中國使用哪種方式進行傳值,則要視具體情況而定。個人感覺,基本傳值可以采用信号槽方式降低耦合,系統配置可以使用單例模式然後在各個界面中進行配置,而public接口方式則适用于父子間窗體傳值。

Qt 的詳細介紹:請點這裡

Qt 的下載下傳位址:請點這裡

推薦閱讀:

linux向函數傳值的例子,Qt窗體間傳值之public函數接口