您的位置:首页 > 编程语言 > Qt开发

【引用】QT设置皮肤问题?

2013-08-01 14:59 274 查看
如果QT本身支持的话,是不是会有一句设置皮肤的句法?例如:app.setSkin("skin.qss");
而skin.qss文件中只有一行:QPushButton { color: red }。表示所有按钮色彩是红色。
C/C++ code
#include <QApplication>  #include <QPushButton>    int main(int argc, char *argv[])  {      //加载应用程序实例      QApplication app(argc, argv);        //加载主窗口      QWidget *widget = new QWidget();      widget->setFixedSize(300, 300);      widget->move(0, 0);        //加载PushButton      QPushButton *button = new QPushButton("quit", widget);      button->setFixedSize(100, 100);      button->move(100, 100);        //加载应用皮肤      app.setSkin("skin.qss");        //显示主窗口      widget->showNormal();        //循环      return app.exec();  }
是支持你所谓的皮肤的,但是是通过
void QApplication::setStyle ( QStyle * style ) [static]

另外, 还支持 CSS的修饰,这也就是说为什么 pushbutton 可以被修饰了。

至于 app.setSkin("skin.qss"); 4.6.x 并没有这个方法
 
setSkin(&app ,"skin.qss");按钮字成红色了。
C/C++ code
#include <QApplication>  #include <QFile>  #include <QTextStream>    bool setSkin(QApplication* const app, QString const &skinFile)  {      QFile file(skinFile);        if (QFile::exists(skinFile) && file.open(QIODevice::ReadOnly))      {          QString strTemp;          QTextStream in(&file);          while (!in.atEnd())          {              strTemp.append(in.readLine());          }          file.close();          app->setStyleSheet(strTemp);      }      else      {          return false;      }        return true;  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐