QFileDialog 在我的代码中使用如下:
QFileDialog fileDlg;
fileDlg.setFileMode(QFileDialog::AnyFile);
fileDlg.setViewMode(QFileDialog::List);
fileDlg.setNameFilter("Excel Files(*.csv)");
fileDlg.setDefaultSuffix("csv");
fileDlg.setAcceptMode(QFileDialog::AcceptSave);
fileDlg.exec();
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不使用用户当前语言环境中的文本。我希望保存按钮为“ ??”。此外,当我单击对话框时,按钮的文本设置为“打开”,而应为“ ??”。在我的语言环境中。
如何提供本地化字符串QFileDialog?
我知道这已经得到了回答和接受,但是正确的方法不是手动翻译Qt已经提供的内容,而是像这样加载Qt中包含的翻译:
/* load the system translations provided by Qt */
QTranslator qtTranslator;
qtTranslator.load("qt_" + QLocale::system().name(),
QLibraryInfo::location(QLibraryInfo::TranslationsPath));
app.installTranslator(&qtTranslator);
/* load our custom translations for this application */
QTranslator myappTranslator;
myappTranslator.load("myapp_" + QLocale::system().name());
app.installTranslator(&myappTranslator);
Run Code Online (Sandbox Code Playgroud)
这样,Qt将翻译它已经知道的内容(例如它自己的窗口小部件),并使用其余应用程序提供的自定义翻译。