Спокойный TR для интернационализации не работает в основной функции?

Функция перевода 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();
}
29
задан Josh Darnell 13 January 2012 в 15:06
поделиться

1 ответ

Функция перевода 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();
}
66
ответ дан 28 November 2019 в 01:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: