QT5入门之33-窗口数据传递
来源:互联网 发布:2016网络机顶盒排名榜 编辑:程序博客网 时间:2024/04/29 16:34
1.和MFC类似,也有模态和非模态对话框之分。
2.模态传值很简单:
void MainWindow::on_pushButton_clicked(){ TestWidgetDlg dlg(this); dlg.exec(); qDebug() << dlg.getPara();}int TestWidgetDlg ::getPara(){ return ui->lineEdit->text().toInt();//返回lineEdit的值}
因为模态exec开启事件循环,代码就会被阻塞。所以直接用对话框对象获取他的参数值即可。
或者
TestWidgetDlg dlg(this);if (dlg.exec() == QDialog::Accepted) { qDebug() << dlg.getPara();}
3.非模态就复杂一点,MFC有sendMessage,PostMessage. QT也有发送信号。
1>.TestWidgetDlg 中:
//头文件定义信号signals: void dlgReturn(int);//点击按钮,发送信号并关闭窗体void TestWidgetDlg ::on_pushButton_clicked(){ emit dlgReturn(ui->lineEdit->text().toInt()); close();}
2>.MainWindow中:
//定义private slots: void showValue(int);//实现槽:将传过来的值显示到label上void MainWindow::showValue(int val){ QString str = QString("%1").arg(val); ui->label_3->setText(str);}void MainWindow::on_pushButton_clicked(){ TestWidgetDlg *dlg = new TestWidgetDlg (this); connect(dlg,SIGNAL(dlgReturn(int)),this,SLOT(showValue(int)));//连接信号与槽 dlg->show();}
其他还有一些方法,譬如全局变量等。
0 0
- QT5入门之33-窗口数据传递
- QT5入门之4 - 窗口总在最前
- Android入门之数据传递
- QT5 学习之路18---对话框数据传递
- 委托之winForm窗口间传递数据
- Qt5之串口编程入门篇之写数据
- qt5 不同窗口的信息传递
- 窗口间传递数据
- 窗口之间传递数据
- Android入门之把窗口信息传递给InputDispatcher
- QT5入门之2 - HelloWorld
- QT5入门之8 - 定时器
- QT5入门之9 - 菜单栏
- QT5入门之11 - 工具栏
- QT5入门之14 - QString
- QT5入门之26 -QLabel
- QT5入门之27 -QPushButton
- QT5入门之28 -QLineEdit
- ibatis批量删除
- 关于导入百度SDK出现的问题
- 解决gdb list No symbol table提示
- JAVA-内功篇-排序
- iOS image 添加图片
- QT5入门之33-窗口数据传递
- iOS 自动化测试之xcpretty简介
- 项目优化方案
- AFNetworking2.0浅析
- ListView学习
- J2EE程序员需掌握的技术
- mysql分表操作
- 数据库集群技术
- iOS简单的登陆界面代码