修改QWidget 背景色

修改QWidget 背景色,第1张

方法一

//setStyleSheet("background-color:rgb(19,45,106)")

//    setAttribute(Qt::WA_StyledBackground)没有这句,上一句不起作用,但子窗口背景色也变了

this->setStyleSheet("QWidget:!hover{background-color:rgb(255,0,0)}")//用过滤,但这句写的不对

方法二

fQPalette pal(this->palette())

    //设置背景黑色

    pal.setColor(QPalette::Background, QColor(19,45,106))

    setAutoFillBackground(true)

    setPalette(pal)

关于怎么让qt背景覆盖全部界面相关资料如下

1.Qss 的setStyleSheet设置背景图片

1.1background-image设置平铺或者居中

这种方法设置的要点是要将图片添加到qrc文件中,形成资源路径,然后在QT界面编辑或者程序代码中通过设置路径来实现背景图片设置。图片大小不能自适应控件大小。只能可以实现平铺或者居中显示。background-position:center设置显示位置,background-repeat:no-repeat设置是否平铺;

(1)平铺重复显示

QWidget#widgetWinPic

{

background-image:url(:/FaceMatch/Resources/pic/viewbackin.png)

background-repeat:repeat

}

或者代码中ui.widgetWinPic.setStyleSheet("QPushButton{ background-image: url(:/FaceMatch/Resources/pic/viewbackin.png)background-repeat:repeat")

(2)居中不重复设置

QWidget#widgetWinPic

{

background-image:url(:/FaceMatch/Resources/pic/viewbackin.png)

background-position:center

background-repeat:no-repeat

}

或者代码中 ui.widgetWinPic.setStyleSheet("QPushButton{ background-image: url(:/FaceMatch/Resources/pic/viewbackin.png)background-position:centerbackground-repeat:no-repeat")

1.2 border-image设置按照控件大小缩放填充整个控件

图片被拉伸填满整个控件,可以实现缩放拉伸填充。会跟着控件的大小变化进行缩放,下图左侧是正常尺寸,右侧是放大后的样子

Qt窗口有背景色和背景图片。Qt窗口背景如何设置可以用这两种办法试一试:

1、实现paintEvent,使用QPainter来绘制背景

2、QPalette设置背景


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存