在 deepin/uos上调用静态函数可以调用系统的本地对话框,调用类对象调用内置的对话框。但是在kylin上都不能调用本地对话框,这样的话窗口上的文字就是英文的。
QT内部类QFontDialog、QColorDialog、QMessageBox、QLineEdit和QTextEdit的右键菜单等中的文字默认是英文的。
对于这个问题,加载一个翻译文件就行。Qt已经为我们准备好了,在"安装目录/translations/qt_zh_CN.qm这个文件
QApplicationa(argc,argv);
//加载本软件的翻译
QTranslator xxtrans;
xxtrans.load("xx.qm",":/");
a.installTranslator(&xxtrans);
//加载Qt标准对话框的中文翻译文件
QTranslator translator;
bool bret = pTranslator->load(":/files/qt_zh_CN.qm");
a.installTranslator(&translator);
翻译成中文后,中文的文字很小。这个最简单的方法就是设置下全局的文字大小。
//设置全局文字大小
QFont font = a.font();
font.setPointSize(12);
a.setFont(font);