Qt QGroupBox在linux下显示边框

1.问题

QGroupBox这个控件在Window和Ubuntu下的表现是不一样的,在window下是有边框的,但是在Ubuntu下就是空白的,什么也看不见。

2.解决

本来以为会是一个方法设置的结果,在网上查了一下,有人用QSS的方式显示了一下。在此基础上加了一行代码变的更好看一点。

3.代码(这是加载.QSS文件的方式实现的)

style.qss文件内容

QGroupBox{
border-width:2px;
border-style:solid;
border-radius: 10px;
border-color:gray;
margin-top:0.5ex;
}
QGroupBox::title{
subcontrol-origin:margin;
subcontrol-position:top left;
left:10px;
margin-left:0px;
padding:0 1px;
}

Qt加载QSS文件代码(红色部分)

#include "mainwindow.h"
#include <QApplication>
#include <QFile>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    QString qss;
    QFile qssFile(":style.qss");
    qssFile.open(QFile::ReadOnly);
    if(qssFile.isOpen())
    {
        qss = QLatin1String(qssFile.readAll());
        qApp->setStyleSheet(qss);
        qssFile.close();
    }

    w.show();


    return a.exec();
}

4.效果图


源码地址:http://download.csdn.net/detail/maowendi/9620132(代码中有dateedit下拉显示的方法)


猜你喜欢

转载自blog.csdn.net/maowendi/article/details/52414182