QT中设置按钮背景颜色
2013-08-09 16:03
776 查看
记得刚开始搞QT的时候,经常为一些小问题头疼,有时甚至怀疑自己是不是不适合搞这个。这些个问题中,就包括按钮背景颜色的设置。
设置QPushButton的背景颜色,最基本的方法大概就是使用QPalette了:
可惜的是,运行之后,BUTTON总不能正确的显示红色背景。后来,查证颇多,由网友说需要加一句 pushButton->setAutoFillBackGround(true);我试了之后,仍然不行,后来在QT的样式表相关的说明文档中才找到一些蛛丝马迹:
原来,QPushButton会自动画一个自然边框,而这个边框又正好覆盖了BUTTON的绘制RECT,所以不是没有把背景设置成RED,而是设置成功了,没有显示出来,既然这是样式表的方法,那不用样式表能不能把自然边框隐藏呢,后来查了一下,QPushButton又一个方法:setFlat(true),加上这个代码后,九OK了,红色背景就成功画出来了。综合来讲,代码如下:
QPushButton *pushButton = new QPushButton(this);
设置QPushButton的背景颜色,最基本的方法大概就是使用QPalette了:
QPushButton *pushButton = new QPushButton(this); QPalette palette = pushButton->palette(); palette.setColor(QPalette::window,Qt::red); pushButton->setPalette(palette);
可惜的是,运行之后,BUTTON总不能正确的显示红色背景。后来,查证颇多,由网友说需要加一句 pushButton->setAutoFillBackGround(true);我试了之后,仍然不行,后来在QT的样式表相关的说明文档中才找到一些蛛丝马迹:
原来,QPushButton会自动画一个自然边框,而这个边框又正好覆盖了BUTTON的绘制RECT,所以不是没有把背景设置成RED,而是设置成功了,没有显示出来,既然这是样式表的方法,那不用样式表能不能把自然边框隐藏呢,后来查了一下,QPushButton又一个方法:setFlat(true),加上这个代码后,九OK了,红色背景就成功画出来了。综合来讲,代码如下:
QPushButton *pushButton = new QPushButton(this);
pushButton->setAutoFillBackGround(true);
pushButoon->setFlat(true);
QPalette palette = pushButton->palette(); palette.setColor(QPalette::window,Qt::red); pushButton->setPalette(palette);
相关文章推荐
- QT按钮背景颜色设置及文字显示位置设置
- JavaGUI——设置框架背景颜色和按钮颜色
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- Qt设置窗体背景颜色
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- QT中设置窗口背景颜色
- 可设置圆角背景边框的按钮, 通过调节色彩明度自动计算按下(pressed)状态颜色
- qt中关于QWidget的背景颜色和背景图片的设置
- Qt 中关于QWidget的背景颜色和背景图片的设置
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- Qt5.9设置pushButton按钮背景色和字体颜色
- 设置datagridview中button按钮的背景颜色
- QT中窗口如何隐藏最大话按钮 和设置背景图片
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- IOS设置导航栏全局的背景图片、导航栏title文字颜色大小、导航栏左右按钮的颜色。
- QT入门-主窗口设置背景颜色和背景图片
- 自绘式按钮COwnerDrawBtn:可设置文本字体、文本颜色、按钮背景图片
- QT中设置widget背景颜色