1. 程式人生 > >Qt QGroupBox在linux下顯示邊框

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下拉顯示的方法)