分享

Qt界面美化 QSS

 guitarhua 2012-11-15

目前发现在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: rgb(128, 0, 0);">  
  56.     //加载应用皮肤  
  57.     setSkin(&app ,"skin.qss");</span></strong>  
  58.   
  59.     //显示主窗口  
  60.     widget->showNormal();  
  61.   
  62.     //循环  
  63.     return app.exec();  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多