一、應用程序中文化
1).Qt安裝目錄下有一個目錄translations/,在此目錄下有qt_zh_CN.ts和
qt_zh_CN.qm
把它們拷貝到你的工程目錄下。
2).在main函數加入下列代碼:
QTranslator translator(0);
translator.load("qt_zh_CN.qm");
QApplication app(argc, argv);
app.installTranslator(&translator);
別忘了頭文件包含QTranslator
二、應用程序實現重啓
void CGUIfeaturesList::on_restartBtn_clicked()
{
qApp->quit();
QProcess::startDetached(qApp->applicationFilePath(), QStringList());
}
三、使用QSS樣式表文件
QFile file("./style.qss");
file.open(QFile::ReadOnly);
QString styleSheet = QLatin1String(file.readAll());
qApp->setStyleSheet(styleSheet);
file.close();
四、使用程序啓動界面
QPixmap pixmap("./start.png");
QSplashScreen splash(pixmap);
splash.show();
QTime dieTime = QTime::currentTime().addMSecs(3000);
while( QTime::currentTime() < dieTime )
a.processEvents(QEventLoop::AllEvents, 100);
MainWindow w;
w.move((QApplication::desktop()->width() - w.width())/2,(QApplication::desktop()->height() - w.height())/2);
w.show();
splash.finish(&w);
main.cpp文件參考如下:
#include <QTextCodec>
#include <QPixmap>
#include <QSplashScreen>
#include <QTime>
#include <QTextCodec>
#include <QFile>
#include <QTranslator>
#include <QtGui>
int main(int argc, char *argv[])
{
QTranslator translator(0);//標準對話框中文化
translator.load("qt_zh_CN.qm");
QApplication a(argc, argv);
a.installTranslator(&translator);
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
// QTextCodec::setCodecForTr(QTextCodec::codecForName(QTextCodec::codecForLocale()->name()));
// QTextCodec::setCodecForLocale(QTextCodec::codecForName(QTextCodec::codecForLocale()->name()));
// QTextCodec::setCodecForCStrings(QTextCodec::codecForName(QTextCodec::codecForLocale()->name()));
QFile file("./style.qss");
file.open(QFile::ReadOnly);
QString styleSheet = QLatin1String(file.readAll());
qApp->setStyleSheet(styleSheet);
file.close();
QPixmap pixmap("./start.png");
QSplashScreen splash(pixmap);
splash.show();
QTime dieTime = QTime::currentTime().addMSecs(3000);
while( QTime::currentTime() < dieTime )
a.processEvents(QEventLoop::AllEvents, 100);
CGUIfeaturesList w;
w.move((QApplication::desktop()->width() - w.width())/2,(QApplication::desktop()->height() - w.height())/2);
w.show();
splash.finish(&w);
return a.exec();
}