在QCheckBox的复选框设置背景色之后,如何保留其对勾

Scarlett26 2015-11-09 06:13:01
QCheckBox在设置了背景色之后,被选中的复选框的对勾好像被覆盖了,在网上找了例子,好像都是自己做了两张图片进行切换的 ,没有办法保留之前的对勾吗
...全文
1289 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
冷静忍耐 2015-11-12
  • 打赏
  • 举报
回复
QCheckBox::paintEvent(event); 这个写最前面
Scarlett26 2015-11-12
  • 打赏
  • 举报
回复
引用 6 楼 u013466477 的回复:
[quote=引用 5 楼 cml26 的回复:] [quote=引用 4 楼 u013466477 的回复:] 其实在你的图片上加个勾就好了嘛,就是一张带勾的图片,一张不带的。
我想先试试不加图片能不能弄出勾[/quote] 那麻烦一点,继承QCheckBox 重写paintEvent事件,先画你的红色背景图,然后画他自带的:QCheckBox::paintEvent(event);应该可以。 最好还是直接图片解决比较好,不用那么麻烦。[/quote] 我自己写了一个小例子,但是好像
引用 6 楼 u013466477 的回复:
[quote=引用 5 楼 cml26 的回复:] [quote=引用 4 楼 u013466477 的回复:] 其实在你的图片上加个勾就好了嘛,就是一张带勾的图片,一张不带的。
我想先试试不加图片能不能弄出勾[/quote] 那麻烦一点,继承QCheckBox 重写paintEvent事件,先画你的红色背景图,然后画他自带的:QCheckBox::paintEvent(event);应该可以。 最好还是直接图片解决比较好,不用那么麻烦。[/quote] 自己写了一个小的例子, void CheckBox::paintEvent(QPaintEvent *event) { QPainter painter(this); painter.setBrush(QBrush(Qt::red)); this->setText("demo"); QCheckBox::paintEvent(event); } 发现还是不对,背景色没有了,用QPainter 画的线好像也被方框覆盖了
冷静忍耐 2015-11-12
  • 打赏
  • 举报
回复
引用 10 楼 cml26 的回复:
[quote=引用 9 楼 u013466477 的回复:] QCheckBox::paintEvent(event); 这个写最前面
这样也是没有用,我发现对小方框的大小做一下改变也会导致那个勾不见了[/quote] 这样啊,那不太清楚,可能需要全部重画吧。
Scarlett26 2015-11-12
  • 打赏
  • 举报
回复
引用 9 楼 u013466477 的回复:
QCheckBox::paintEvent(event); 这个写最前面
这样也是没有用,我发现对小方框的大小做一下改变也会导致那个勾不见了
Scarlett26 2015-11-10
  • 打赏
  • 举报
回复
引用 6 楼 u013466477 的回复:
[quote=引用 5 楼 cml26 的回复:] [quote=引用 4 楼 u013466477 的回复:] 其实在你的图片上加个勾就好了嘛,就是一张带勾的图片,一张不带的。
我想先试试不加图片能不能弄出勾[/quote] 那麻烦一点,继承QCheckBox 重写paintEvent事件,先画你的红色背景图,然后画他自带的:QCheckBox::paintEvent(event);应该可以。 最好还是直接图片解决比较好,不用那么麻烦。[/quote] 我也觉得这样做好麻烦
冷静忍耐 2015-11-10
  • 打赏
  • 举报
回复
引用 5 楼 cml26 的回复:
[quote=引用 4 楼 u013466477 的回复:] 其实在你的图片上加个勾就好了嘛,就是一张带勾的图片,一张不带的。
我想先试试不加图片能不能弄出勾[/quote] 那麻烦一点,继承QCheckBox 重写paintEvent事件,先画你的红色背景图,然后画他自带的:QCheckBox::paintEvent(event);应该可以。 最好还是直接图片解决比较好,不用那么麻烦。
Scarlett26 2015-11-10
  • 打赏
  • 举报
回复
引用 4 楼 u013466477 的回复:
其实在你的图片上加个勾就好了嘛,就是一张带勾的图片,一张不带的。
我想先试试不加图片能不能弄出勾
冷静忍耐 2015-11-10
  • 打赏
  • 举报
回复
其实在你的图片上加个勾就好了嘛,就是一张带勾的图片,一张不带的。
Scarlett26 2015-11-10
  • 打赏
  • 举报
回复
引用 2 楼 cml26 的回复:
引用 1 楼 mqdsg 的回复:
能把checkbox 选中和没选中的截图传上来看看?
选中和没选中都是这个样子
Scarlett26 2015-11-10
  • 打赏
  • 举报
回复
引用 1 楼 mqdsg 的回复:
能把checkbox 选中和没选中的截图传上来看看?
在飞的特拉斯 2015-11-10
  • 打赏
  • 举报
回复
能把checkbox 选中和没选中的截图传上来看看?

16,202

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧