Функция перевода QT tr
не работает в main
функционируйте, но хорошо работает в функции членства QWidget. Почему это?
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QDialog dialog;
QString temp = tr("dadasda");//error:tr was not declared in this scope
dialog.show();
return a.exec();
}
Функция перевода tr
является статическим методом QObject
. Так как QWidget
является подклассом QObject
, tr
доступна в методах QWidget
, но в main()
для использования функции необходимо использовать QObject::tr
, как показано ниже.
#include <QObject>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QDialog dialog;
QString temp = QObject::tr("dadasda");//works fine
dialog.show();
return a.exec();
}