1

嗨,我正在用 Qt5 编写多语言应用程序。我想访问

QApplication a(argc, argv);

从我的 Settings 类本地化到 main.cpp 中。我需要这个来执行 2 个命令:

a.installTranslator();
a.removeTranslattor();

当我尝试这样做时,我遇到了错误:

C2228: left of '.installTranslator' must have class/struct/union
C2228: left of '.removeTranslator' must have class/struct/union

我怎么称呼它?

4

1 回答 1

3

根据您需要的功能,您有两种选择:

  1. QApplication有几个静态方法,因此只要包含标题,您几乎可以从任何地方调用它们。
  2. 正如您已经评论的那样,有一个全局指针 qApp允许进一步访问非静态方法。这是因为 QApplication 是任何 Qt 应用程序中的单例。

请注意,这对 Qt 4 和 Qt 5 有效。

于 2015-11-26T20:48:46.053 回答