我有一个 QT 对话框,我需要从程序中的任何地方访问它。基本上我需要做的是在我的程序的某个地方创建一个静态实例,比如:
'''注意''':这只是我正在尝试做的一个示例,而不是实际代码(此处发布太长)
class Core
{
public:
static DialogType *MyDialog;
};
DialogType *Core::MyDialog = NULL;
// later in main.cpp
int main(int argc, char *argv[])
{
try
{
Core::Init();
QApplication a(argc, argv);
Core::MyDialog = new DialogType();
...
然而,尽管这适用于任何其他类型,但它不适用于从 QDialog 继承的类。编译器只返回:DialogType 没有命名类型(是的,我确实 #include 了带有 DialogType 声明的 .h 文件)
我究竟做错了什么?为什么QT不允许这样做?我怎样才能从程序中任何地方的任何类访问我的对话框的单个实例?