如何在QT中为对话框创建公共对象
How to create common objects for dialogs in QT
在我的QT应用程序我有三个对话框命名为"一","二","三"。我想在对话框"一"中显示和隐藏对话框"二"answers"三"(使用按钮),反之亦然。我的问题是如何为所有对话框创建对象(例如对话框"一","二","三"的对象),以便我可以在所有其他对话框中调用任何对话框,我试图在main()函数中创建对象,如
#include "one.h"
#include "two.h"
#include "second.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
one *s = new one();
two *d = new two();
three *s = new three();
return a.exec();
}
但是我不知道如何在另一个对话框中调用这个指针对象。指引我,
你可以这样做:
one *d1 = new one();
two *d2 = new two();
three *d3 = new three();
d1.establish(d2, d3);
d2.establish(d1, d3);
d3.establish(d1, d2);
也就是说,在创建了所有对话框之后,通知每个对话框指向其他对话框的指针。当然,如果你愿意的话,你可以用一个函数来封装这个逻辑,或者甚至用一个类来保存这三个对话框。
上面的establish()
方法只是一个假名;你必须自己实现它。例如:
void establish(one* d1, two* d2) {
m_dlg1 = d1;
m_dlg2 = d2;
}
如果你的对话框只需要通用的QDialog指针,你可以将它们存储在一个向量中,如果你想灵活地控制总共有多少个对话框。
相关文章:
- WinAPI 在单击第一个对话框上的按钮控件并销毁第一个对话框后创建第二个对话框
- 在C++中创建文件夹选取器对话框的最简单方法是什么?
- Qt - 创建主窗口前的非模态对话框
- 在Qt中创建类,其中QDialog内置特定对话框
- 当主GUI线程被阻塞时,如何从工作线程创建无模式对话框
- 创建关闭GTK+对话框的取消按钮的正确方法是什么
- 捕获新创建的模态对话框的窗口句柄
- 如何在MFC对话框上绘制/创建GDI
- 创建不会阻止主应用 MFC 的对话框
- 使用 OpenGL 创建交互式对话框
- MFC C对话框::在x64上创建挂起
- 为对话框创建窗口类
- 如何在Qt Designer(Python)中创建弹出窗口(将主窗口与对话框链接)
- 如何创建 QT 库对话框
- 如何测量创建对话框所需的时间
- 无法在另一个对话框中创建 Qt 对话框
- 在 MFC 中创建列表视图,而无需对话框
- Qt创建一个等待网络事件的对话框
- 如何在QT中为对话框创建公共对象
- 在 cpp、OpenCV 中使用"Select file"对话框创建 GUI