• Qt界面美化 QSS


    目前发现在Qt-Design中右击控件,可以选择Change StyleSheet

    ------------------------以下总结不太对

    刚接触Qt,发现Qt Design无法对每个控件进行颜色风格设置。正在纳闷如此受欢迎的开发工具,怎么会没有这种,Delphi,VB,VC,C#都具备的基本功能呢?

     

    后来在CSDN上才知道,Qt已经走在这些工具的最前方了,把界面已经独立出来和web编程一样。web有CSS专门美化工作。而Qt也有QSS进行美化设计。完全可以不影响程序开发。而且可以直接调用网上经典的界面代码。

    Qt思想确实是先进不少啊。

     

     

    目前没有精力研究Qt美化界面的问题。先了解一下放在这儿。

    一些QSS的例子

    QT皮肤(QSS)编程

     

    qt样式qss应用 

     

    QT皮肤(QSS)编程

    skin.qss中,写上QPushButton { color: red };

    Cpp代码  收藏代码
    1. #include <QApplication>  
    2. #include <QPushButton>  
    3.   
    4. #include <QApplication>  
    5. #include <QFile>  
    6. #include <QStyleFactory>  
    7. #include <QTextStream>  
    8. bool setSkin(QApplication* const app, QString const &skinFile)  
    9. {  
    10.     QFile file(skinFile);  
    11.   
    12.     if (QFile::exists(skinFile) && file.open(QIODevice::ReadOnly))  
    13.     {  
    14.         QApplication::setStyle(QStyleFactory::create("Windows"));  
    15.         QString strTemp;  
    16.         QTextStream in(&file);  
    17.         while (!in.atEnd())  
    18.         {  
    19.             strTemp.append(in.readLine());  
    20.         }  
    21.         file.close();  
    22.         app->setStyleSheet(strTemp);  
    23.     }  
    24.     else  
    25.     {  
    26. #ifdef Q_WS_MAC  
    27.         qDebug("%s: %s: File does not exist %s... setting mac style...",  
    28.                __FILE__, __FUNCTION__, qPrintable(skinFile));  
    29.         app->setStyle(new QMacStyle());  
    30.         return true;  
    31. #else  
    32.         qDebug("%s: %s: File does not exist or failed to open %s",  
    33.                __FILE__, __FUNCTION__, qPrintable(skinFile));  
    34.         return false;  
    35. #endif  
    36.     }  
    37.   
    38.     return true;  
    39. }  
    40.   
    41. int main(int argc, char *argv[])  
    42. {  
    43.     //加载应用程序实例  
    44.     QApplication app(argc, argv);  
    45.   
    46.     //加载主窗口  
    47.     QWidget *widget = new QWidget();  
    48.     widget->setFixedSize(300, 300);  
    49.     widget->move(0, 0);  
    50.   
    51.     //加载PushButton  
    52.     QPushButton *button = new QPushButton("button", widget);  
    53.     button->setFixedSize(100, 100);  
    54.     button->move(100, 100);  
    55. <strong><span style="color: #800000;">  
    56.     //加载应用皮肤  
    57.     setSkin(&app ,"skin.qss");</span></strong>  
    58.   
    59.     //显示主窗口  
    60.     widget->showNormal();  
    61.   
    62.     //循环  
    63.     return app.exec();  
    64. }  
     
     
  • 相关阅读:
    【BZOJ 2124】【CodeVS 1283】等差子序列
    【BZOJ 1036】【ZJOI 2008】树的统计Count
    【BZOJ 1901】【ZJU 2112】Dynamic Rankings
    【BZOJ 3924】【ZJOI 2015】幻想乡战略游戏
    【BZOJ 4103】【THUSC 2015】异或运算
    【BZOJ 4513】【SDOI 2016】储能表
    【HDU 3622】Bomb Game
    【BZOJ 3166】【HEOI 2013】Alo
    【BZOJ 3530】【SDOI 2014】数数
    【BZOJ 4567】【SCOI 2016】背单词
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/3758187.html
Copyright © 2020-2023  润新知