プログラムのどこからでもアクセスできる 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 は型に名前を付けません (そして、はい、DialogType の宣言でその .h ファイルを #include します)
私は何を間違っていますか?QTがそれを許可しないのはなぜですか?プログラム内の任意のクラスからダイアログの単一インスタンスにアクセスできるようにするにはどうすればよいですか?