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

来源:互联网 发布:爆吧软件2016 编辑:程序博客网 时间:2024/05/17 02:05
如果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(); }
Qt 是支持你所谓的皮肤的,但是是通过
void QApplication::setStyle ( QStyle * style ) [static]

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

至于 app.setSkin("skin.qss"); Qt4.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; }
原创粉丝点击