Qt的所有widget都有默认的边框,但是可以设置为任何颜色,或者完全移除边框。要移除边框,可以使用QWidget的setFrameStyle()函数,其参数设置为QFrame::NoFrame:
widget->setFrameStyle(QFrame::NoFrame)
如果只用状态栏是无法达到凹凸效果的。你可以在状态栏中加入QLabel控件,并设置QLabel的边框形状。这样状态栏看起来也就有凹凸效果了。//eg:将QLabel加入QStatusBar之中,statusLabel 为QLabel指针。
//mainwindow.cpp
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this)
statusLabel = new QLabel("test label ")
initLabel(statusLabel)
ui->statusBar->addWidget(statusLabel,1)
}
void MainWindow::initLabel(QLabel *pLabel)
{
if(!pLabel) return
pLabel->setFrameShadow(QFrame::Sunken)
pLabel->setFrameShape(QFrame::Panel)
pLabel->setLineWidth(3)
pLabel->setMidLineWidth(3)
}
由于QLabl继承自QFrame,有关边框形状的设置详见QFrame的文档,该文档中有一张图,很好地说明了边框形状与类型。上面的initLabel函数就是一个设置QLabel边框形状的例子。
你可以根据自己的需要进行修改。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)