当前位置: 代码迷 >> QT开发 >> QSS样式表在linux下没有效果,该如何解决
  详细解决方案

QSS样式表在linux下没有效果,该如何解决

热度:74   发布时间:2016-04-25 03:10:39.0
QSS样式表在linux下没有效果
我用相同的代码qss文件在window下加载运行是正常的,为什么在linux arm里面就没效果呢?代码很简单如下:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    Program w;
    w.show();

    return a.exec();
}

Program::Program(QWidget *parent) :
    QWidget(parent)
{
    this->setGeometry(0,0,g_nScreenWidth,g_nScreenHeight);

    QFile file(":/titleWindow.qss");
    if(!file.open(QIODevice::ReadOnly))
        perror("fail to open qss:");
    QString str = file.readAll();
    qApp->setStyleSheet(str);
    file.close();

    CustomTitle *pCustom = new CustomTitle(this);
    pCustom->show();
}

CustomTitle::CustomTitle(QWidget *parent) :
    QWidget(parent)
{
    filter = new Ui::FilterSetting;
    filter->setupUi(this);
}


我的编译环境是arm+qt4.8.5。不知道有没有其他人遇到过这种情况?
------解决思路----------------------
能open这个qss file吗?
------解决思路----------------------
在arm也能显示出qss效果的。可能是文件没有打开。或者你直接在designer上设置qss试试
------解决思路----------------------
引用:
Quote: 引用:

在arm也能显示出qss效果的。可能是文件没有打开。或者你直接在designer上设置qss试试


在arm里面以代码形式或者designer里加载qss都可以显示,但是因为我的窗口比较多,所以就像用加载qss文件的形式来设置窗口样式,然后就出现了我所说的问题。文件是肯定打开了的,这个我有打印查看,只是好像导入qss不成功。


既然可以打开qss文件,那么readall得到的内容正确不;
我用这句测试一下没问题哦 qApp->setStyleSheet("QPushButton{background-color:blue;}");