歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> QT窗體間傳值之全局變量

QT窗體間傳值之全局變量

日期:2017/3/1 9:46:39   编辑:Linux編程

上一次的文章講到了使用Signal&Slot機制進行窗體間數據的傳遞(見http://www.linuxidc.com/Linux/2014-03/98899.htm)。這裡介紹另一種方式全局變量進行傳值,在上一次的界面中的mainWindow和dialog中分別加入一個Label和LineEdit以及一個pushbutton。效果如:

運行方式為在主界面mainWindow中單擊全局變量按鈕對全局變量進行賦值,賦值完成後,在Dialog中單擊全局變量在LineEdit中顯示全局變量的值,可以發現這種方式下可以很容易的反轉傳遞內容。

具體實現為:

在mainWindow.cpp文件中加入:

QString globaldata; //聲明一個全局變量用於窗體間傳值

在全局傳值按鈕的clicked事件中對gloabaldata進行賦值:

void MainWindow::on_globalpb_clicked()
{
globaldata = ui->lineEdit->text();
}

在Dialog.cpp文件中聲明外部變量:

extern QString globaldata;

在全局傳值按鈕的clicked事件中對gloabaldata進行顯示:

void Dialog::on_pushButton_clicked()
{
ui->lineEdit_2->setText(globaldata);
}

這種方式,可以看到一些缺點,就是不容易對UI界面進行實時顯示,但是這對於一個系統來講也有一些優勢,就是可以方便地將一個系統的配置分配到相關的UI界面中去,但是,同樣的,也增加了程序之間的耦合性。

為了節省篇幅,這裡不將最後的結果上傳上來了, 下一博文,將介紹窗體間傳值的另一種方式:public函數接口方式。

Qt 的詳細介紹:請點這裡
Qt 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved