最近刚刚开始学QT,怎么还没开始写就一堆错误啊,如图。
你还是修改了的吧?不然怎么会有代码标签页标脏
创建qss文件不要使用windows下的记事本,这里推荐使用Nodetad++或者更高级的编辑器。否则可能会出错。
原因是记事本生成的utf-8文件是带bom(自行百度),这个我们无法通过记事本去掉,而Nodetad++可以,尽管qt在编码项目-编码有一个总是bom的选项,但是经测试,没什么用,bom还是存在,可以看一下这个Qt读取qss文件失败或qss不生效解决方案。
我们创建一个qss后缀的文件,并写入
#label
{
background:rgb(100,100,100);
}
将这个qss文件作为资源文件加载到qt中,如下图,创建一个资源文件,并添加现有文件(qss文件):
在构造函数中编写如下代码:
QString qss;
QFile qssFile("./lib/sheet.qss");
qssFile.open(QFile::ReadOnly);
if(qssFile.isOpen())
{
qss=QLatin1String(qssFile.readAll());
qDebug()<<qss;
this->setStyleSheet(qss);
qssFile.close();
}
最后将utf-8 bom由原先的是utf-8就添加改为目前存在了则保留。至此qss样式表加载完成。
运行结果:
这就是第三方法,这种方法在界面样式较复杂时,我们在文件中编写样式,内容比较清晰,降低耦合性(与逻辑代码分离)。
为了讲解方便,下面的说明将使用第一种方法展开。
抱歉,根据提供的资料,无法确定具体的问题和错误提示信息。请提供更具体的问题描述或错误提示信息,以便给出更准确的解决方案。
新建个工程看看有没有报错