Qt's translation function tr does not work in the main function but works fine in a QWidget member function. Why is that?
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(); }
The translation function tr is a static method of QObject. Since QWidget is a subclass of QObject, tr is available in methods of QWidget, but in main() you have to use QObject::tr in order to use the function, as shown below.
#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(); }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With