qt中一个ui中的widget与另一个ui中的dialog之间的交互
来源:互联网 发布:冰魄寒鞭淘宝 编辑:程序博客网 时间:2024/06/07 12:25
这次是用qt做一个ini文件参数配置的工具。
其中有一个功能是,点击widget中的添加按钮,弹出dialog,人工写入标识,进行动态库添加,按dialog中的确认按钮,写入ini配置文件。此时还需要widget重新读一遍配置文件,刷新出新添加的值进入combox控件。把这个功能分成如下两个阶段来实现。(读写配置文件不在此文中赘述,可见http://blog.csdn.net/wangshenweiwu/article/details/78002273)
一
点击widget中的添加按钮,弹出dialog
1.项目最初建立的项目是qt widgets application,继承QWidget
2.新建dialog文件,选择QT中的Qt设计师界面类,把它添加到之前widget的项目之中。
3.在widget的.h文件中#include"dialog.h"
4.在widget的.h文件中类声明的private数据成员里添加以下代码:
Dialog *clickPushButton;
5.在widget.cpp中的添加按钮槽函数中添加以下代码:
clickPushButton = new Dialog(this); clickPushButton->show();
二
点击dialog的确认按钮,widget感应到此信号,重新读一遍ini配置文件。
本质还是一个跨ui的信号与槽函数的应用
1.在dialog.h的类中添加信号:
signals: void sendvarydata();
2.在dialog.cpp中的按下确认按钮的槽函数中传递信号:
//在配置文件中新增动态库的代码实现// emit sendvarydata();
3.在widget.h的类中添加对应的槽函数:
public slots: void recvvarydata();
4.在widget.cpp中的添加按钮槽函数中添加以下conncet连接
此处需要注意的是,这个connect函数需要卸载new完dialog之后,而不是在widget的构造函数中。
connect(clickPushButton, SIGNAL(sendvarydata()), this, SLOT(recvvarydata()));
与一步中的第五点连起来,这个添加按钮的槽函数代码如下:
clickPushButton = new Dialog(this);clickPushButton->show();connect(clickPushButton, SIGNAL(sendvarydata()), this, SLOT(recvvarydata()));
5.最后在widget.cpp中添加槽函数实现
void recvvarydata(){ //重新读取配置文件的代码实现//}
- qt中一个ui中的widget与另一个ui中的dialog之间的交互
- Qt中的ui(new Ui::Widget)是什么意思呢?
- Jquery UI 中的dialog的简单使用
- 从一个UI中调用另一个UI
- QT中的namespace Ui的理解
- jquery ui的dialog中的代码可能被执行两次
- 在一个activity中更改另一个activity的UI
- 在一个 Activity 中改变另一个 Activity 的 UI
- QT中 widget window dialog 的区别
- jq UI中的dialog属性设置
- qt 的ui界面设计师中的布局 控件QWidget中使用的布局
- 在Android中实现Service动态更新UI界面(Service与主程序Activity之间的数据交互或控制)
- 在Android中实现Service动态更新UI界面(Service与主程序Activity之间的数据交互或控制)
- qt中如何把插件中的窗口布局到UI设计师的窗口上
- android中UI线程与后台的交互方式详解
- 在Qt中使一个控件的内容实时随着另一个控件中的内容变化
- QT中的UI修改后,程序UI依然是旧样
- 解决QT中的UI修改后,程序UI依然是旧样
- 什么是MVC模式?MVC三层架构的含义和作用?
- 命名空间“Microsoft”中不存在类型或命名空间名称“Office ”(是缺少程序集引用吗?)
- 我来填JFinal_qyweixin的坑"Could not initialize class com.jfinal.render.JspRender"
- 设置Qt状态栏
- centos 卸载软件
- qt中一个ui中的widget与另一个ui中的dialog之间的交互
- git学习
- spring框架需要的jar包
- swing实现窗体拖拽和拉伸
- Spark SQL解析过程
- libevent在windows下面基础使用
- POJ 1743 后缀数组+二分
- linux 测网速
- SDWebImage支持URL不变时更新图片内容