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