问题

今天在使用样式表文件,程序运行时样式表不能正常加载,提示”Could not parse stylesheet of widget 0x9d92218″

问题原因

qss 文件格式错误,查看qss文件是否有语法错误或者格式错误,我的错误是:样式表一开始是在QtDesigner里面编辑的,里面使用的使用了控件属性,然后将样式表拷贝到文件的里面出现了语法错误,具体错误如下:

QPushButton[belong="digital_panel"]<-----这里语法错误
{
    min-width: 70px;
    max-width: 70px;
    min-height: 57px;
    max-height: 57px;
}

正确的写法为

QPushButton[belong="digital_panel"]<-----这里语法错误
{
    min-width: 70px;
    max-width: 70px;
    min-height: 57px;
    max-height: 57px;
}

QT 不同方式加载样式表文件总结

  • 1 如果应对我们自己的应用程序,我们可以使用qss文件的方式去加载样式表。如下
QString currentPath = QString("%1/qss").arg (QDir::currentPath ());
QString  sStyleSheet;
if(styleFile.open (QFile::ReadOnly))
{
    qDebug ()<<"open successful";
    sStyleSheet = styleFile.readAll ();
    styleFile.close ();
    this->setStyleSheet(sStyleSheet);
}

  • 2 如果我们设置的是一些公用的控件样式表文件,就是说控件存放的文件不确定,可以使用QtDesigner去直接设置样式表

发表评论

电子邮件地址不会被公开。 必填项已用*标注