zoukankan      html  css  js  c++  java
  • 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. }  
     
     
  • 相关阅读:
    【bzoj2820】GCD
    【learning】莫比乌斯反演
    【bzoj2151】种树
    【noip模拟】局部最小值
    【learning】多项式乘法&fft
    【learning】二分图最大匹配的König定理
    【noip模拟】2048
    【noip模拟】修长城
    【noip模拟】最小点覆盖
    【noip模拟】Fantasia
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/3758187.html
Copyright © 2011-2022 走看看