将样式写在文件中,通过读取文件的方式设置样式遇到的问题,求解决方法(已解决)
最近在学习qt,当自己按照网上总结的方法操作以后,出现一下问题,总是找不到原因,希望哪个大神可以帮忙看看,究竟是哪里出了问题。(工具vs2015,qt5.9.1)
这是主程序,其中有加载qss文件的操作
#include "DataImportTool.h"
#include <QtWidgets/QApplication>#include <QDir>
#include "include/hlog/hlog.h"
#include "include/crash/CrashAPI.h"
#include"CCommonHelper.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QString strPath = QApplication::applicationDirPath();
strPath += "/images/region.ico";
a.setWindowIcon(QIcon(strPath));
//设置开始导入按钮的颜色
QString qss;
QFile qssFile(":/qss/style.qss");
if (qssFile.open(QFile::ReadOnly))
{
qDebug("Open succeded");
//qss = a.styleSheet();
QByteArray qByteA = qssFile.readAll();
QString qstr_qlstr = QLatin1String(qByteA);
qss = qstr_qlstr;
qDebug(qss.toStdString().c_str());
qApp->setStyleSheet(qss);
qssFile.close();
}
else
{
qDebug("Open failed");
}
//qApp->setStyleSheet("QPushButton { background-color: yellow }");
QDir::setCurrent(QCoreApplication::applicationDirPath());;
hlog_init("log4cxx.properties");
CrashAPI_Init();
CrashAPI_SetDumpType(FullDumpType);
DataImportTool w;
w.setStyleSheet("background-color:white;");
w.show();
hlog_fini();
CrashAPI_Uninit();
return a.exec();
}
以下是自己写的qss文件
QLineEdit
{
background-color:rgb(255, 0, 0);
border:5px solid red;
}
QPushButton
{
background-color:rgb(0,255,0);
}
然而这样操作的结果是背景色不起作用,我怀疑是qss文件和ui设置冲突的原因,可是当我将ui中有关button的属性删除后,还是不起作用啊。真的是非常心急啊。