Qt 做界面比起其他IDE来,方便便捷了很多;但是如何让界面更加美观而且更改皮肤?
这里给出一种加载样式表的解决方案。
//================================================
void MainWindow::loadStyle(const QString &qssFile)
{
//加载样式表
QString qss;
QFile file(qssFile);
if (file.open(QFile::ReadOnly)) {
//用QTextStream读取样式文件不用区分文件编码 带bom也行
QStringList list;
QTextStream in(&file);
//in.setCodec("utf-8");
while (!in.atEnd()) {
QString line;
in >> line;
list << line;
}
file.close();
qss = list.join("\n");
QString paletteColor = qss.mid(20, 7);
qApp->setPalette(QPalette(paletteColor));
qApp->setStyleSheet(qss);
}
}
在对应的槽函数中添加
loadStyle(":/qss/lightblue.css");
如:
//----------------------------------------
void MainWindow::on_actionSKinAct1(void)
{
loadStyle(":/qss/lightblue.css");
}
void MainWindow::on_actionSKinAct2(void)
{
loadStyle(":/qss/lightgray.css");
}
void MainWindow::on_actionSKinAct3(void)
{
loadStyle(":/qss/lightyellow.css");
}
void MainWindow::on_actionSKinAct4(void)
{
loadStyle(":/qss/flatblue.css");
}
void MainWindow::on_actionSKinAct5(void)
{
loadStyle(":/qss/flatgray.css");
}
void MainWindow::on_actionSKinAct6(void)
{
loadStyle(":/qss/darkgray.css");
}
void MainWindow::on_actionSKinAct7(void)
{
loadStyle(":/qss/othersilvery.css");
}
别忘记 添加CSS到资源里
想要css文件的可以从链接:https://pan.baidu.com/s/1xooGmBr1bnqt3XJ_K6LmMw?pwd=030r
提取码:030r