qt所有widget都有黑框

qt所有widget都有黑框,第1张

qt所有widget都有黑框

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边框形状的例子。

你可以根据自己的需要进行修改。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11238075.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存