如果QT本身支持的话,是不是会有一句设置皮肤的句法?例如:app.setSkin("skin.qss");
而skin.qss文件中只有一行:QPushButton { color: red }。表示所有按钮色彩是红色。
而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; }