从另一个对话框更新对话框时出现问题
Problems updating a dialog from another one
我有2个非模态对话框,都是从主窗口运行的。基本上,我试图通过按按钮从第一个到第二个没有成功的字符串。所以这两个对话框都在mainwindow.h中声明如下:
Dialog1 *dg1;
Dialog2 *dg2;
并在mainwindow.cpp:
中创建dg1 = new Dialog1(this);
dg2 = new Dialog2(this);
我需要通过调用更新dg2的textEdit的函数将字符串从dg1传递到dg2。我试着:
#include "Dialog2.h"
...
Dialog2 dg2;
dg2.callfunction(string);
但是没有字符串到达那里的迹象。我该怎么做?
有三种方法可以解决这个问题:
-
信号和槽位:为dialog1创建信号,为dialog2创建槽位。两者都必须有一个QString作为参数。在构建对话框的主窗口中连接它们。
-
setter关系:给dialog1一个接受指向dialog2的指针的setter。记住成员变量中的dialog2指针。使用该指针调用dialog1中dialog2的callfunction。调用构造对话框的指针设置器。如果dialog2不再可用,不要忘记清除指针,并在访问它之前检查指针的有效性。
-
引用关系:向dialog1的构造函数添加一个dialog2引用作为参数。记住成员变量中的引用。使用该引用在dialog1中调用dialog2的callfunction。为此,您需要在dialog1之前构造dialog2。
你应该能够带着这些信息继续前进。
我选1。
我建议多读一些必要的基础知识。阅读Qt的信号和插槽。阅读c++指针、引用和构造函数
相关文章:
- 如何在Qbutton的帮助下更改Q对话框的宽度
- 当对话框被接受时,如何用参数调用槽
- WinAPI 在单击第一个对话框上的按钮控件并销毁第一个对话框后创建第二个对话框
- 如何多次询问来自QML对话框的输入?
- 选择文件对话框错误
- 自定义对话框(源自QDialog)不会关闭(Android)
- 如何在 MFC 对话框中使用 OnDraw
- 在C++中创建文件夹选取器对话框的最简单方法是什么?
- 从资源视图访问对话框时出现问题
- 如何检测窗口当前是否正在运行模式对话框?
- "最小化"按钮不会出现在 MFC 对话框中
- 如何获取QNetworkConfiguration UserChoice对话框?
- 表单显示对话框函数错误,并且不执行下面的语句
- 如何在 VC6 中的对话框中将图标设置为按钮
- C++/Win32 构造函数不使用从对话框获取的字符串初始化变量
- 在 Win32 应用中,如果未选择文件夹并且用户单击"确定",则文件夹选择对话框将关闭
- 显示Q对话框时出现QT线程问题
- 问题5-如何从子对话框实时发回数据
- 从另一个对话框更新对话框时出现问题
- WxWidgets文件对话框问题