【发布时间】:2012-10-23 15:21:51
【问题描述】:
我正在尝试构建一个类,如果使用 shell 或 GUI 运行,其行为方式会有所不同。
可以使用#include "myclass.h" 将其包含在两种形式中...
但是,在构造函数中,我想区分 Shell 运行和 GUI 运行。
我可以使用在声明它时传递给构造函数的参数轻松实现它,但我想探索我的选择。
我在 ubuntu 上使用 C++,而我的 GUI 使用 Qt。
【问题讨论】:
-
嗯,这是扭曲的......我能问你为什么吗?通常认为“核心”模块对使用它们的视图视而不见是一种很好的做法。
-
我对此并不完全确定,但您可以尝试将 qApp macro 动态转换为 QApplication。如果它是一个 GUI 程序,你应该获得成功的演员表。否则它是一个 QCoreApplication 指针。
-
xterm是终端还是 GUI? -
弗拉德:我想要自动检测。我指定如果找不到任何自动方式,我可以手动完成。 @georgesl:您在 GUI 中有更多选项,例如你喜欢的外壳颜色。最好利用这些功能
-
这对我来说听起来像是一种代码味道。除了应用程序的前端之外,您的核心类不需要知道正在使用什么前端(如果有的话!)。