zoukankan      html  css  js  c++  java
  • Qt系统对话框中文化及应用程序实现重启及使用QSS样式表文件及使用程序启动界面

    一、应用程序中文化

    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();
    }

    http://blog.csdn.net/liuguangzhou123/article/details/8079996

  • 相关阅读:
    go语言学习之从例子开始
    分享一个不错的Unittest测试报告
    selenium各种定位方法(转)
    HTMLTESTRunner自动化测试报告增加截图功能
    selenium之chrome驱动版本
    Python基础(六) python生成xml测试报告
    vue+elementUI 表头按钮
    vue+elementUI滚动条
    vue表格表头添加按钮
    elementUI升级版本后Dialog弹空不显示问题
  • 原文地址:https://www.cnblogs.com/findumars/p/6361982.html
Copyright © 2011-2022 走看看