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