Qt5如何从另一个类调用QApplication?

时间:2015-11-26 16:23:22

标签: c++ qt qapplication

您好我在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

我怎么称呼它?

1 个答案:

答案 0 :(得分:3)

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

  1. QApplication有几种静态方法,因此只要包含标题,就可以从几乎所有地方调用它们。
  2. 正如您已经发表评论,there is a global pointer qApp允许进一步访问非静态方法。这是因为QApplication在任何Qt App中都是单身人士。
  3. 注意,这对Qt 4和Qt 5有效。