我正在尝试围绕我的程序编写一个界面(使用qt)。基本上我有一个主窗口,然后在某些时候它应该“要求用户进行交互”。- 我为此使用了一个对话框。
现在,当阅读对话窗口时,我在某处读到对话窗口应该总是有一个父窗口(我猜是主窗口?)。现在我发现在我的项目中实现这个很麻烦 - 因为我似乎必须更改我不想更改的代码。
基本上主程序曾经是一个命令行界面。对于用户交互,该程序将只创建一个处理显示和用户交互的类。在我从该类派生的 GUI 版本中,派生类只是包装了正确的对话框窗口。
现在的麻烦是在命令行界面中没有谈论“windows”甚至“qt”。- 主干应用程序应该对 qt 一无所知。沟通方式很简单:
MAIN_WINDOW -> tells backbone to start acting upon X
-> BACKBONE -> asks for UI (opens class with DIALOG).
现在的问题是:如何通过 BACKBONE(对 qt 一无所知)获取 MAIN_WINDOW 指针到 DIALOG?这是我必须为 MAIN_WINDOW 使用单例/全局变量的情况吗?我希望有一个更好的范例?