使用WA_TranslucentBackground 做无边框窗体的一些问题

王桑的一天 2017-08-11 07:14:10
界面使用了 WA_TranslucentBackground 属性,为了无边框、阴影、圆角美观。
结果导致一些问题出现:

1. 鼠标滑过SpinBox 时,SpinBox会变黑,闪烁的感觉。
2. 界面上移除控件时,会出现短暂的透明区域,能直接看到后面的桌面了。

请如何能解决上面的问题?
...全文
2245 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
良生0212 2020-08-26
  • 打赏
  • 举报
回复
引用 3 楼 大卫无限的回复:
我就笑笑不回答
不回答就别刷存在感
良生0212 2020-08-26
  • 打赏
  • 举报
回复
不回答没必要刷存在感
王桑的一天 2017-08-21
  • 打赏
  • 举报
回复
王桑的一天 2017-08-17
  • 打赏
  • 举报
回复
无解吗
王桑的一天 2017-08-14
  • 打赏
  • 举报
回复
引用 3 楼 n7zj0x8 的回复:
我就笑笑不回答
什么意思
大卫无限 2017-08-14
  • 打赏
  • 举报
回复
我就笑笑不回答
王桑的一天 2017-08-13
  • 打赏
  • 举报
回复
引用 1 楼 qq_26618585 的回复:
this->setWindowFlags(Qt::FramelessWindowHint); this->setAttribute(Qt::WA_NoSystemBackground,true); this->setAttribute(Qt::WA_TransparentForMouseEvents,true); 请注意顺序,看文档
你好,这样弄的话,圆角处就会看到黑色的小角了,因为背景没有透明。2个问题是没有了,那是因为没用WA_TranslucentBackground。
qq_26618585 2017-08-12
  • 打赏
  • 举报
回复
this->setWindowFlags(Qt::FramelessWindowHint); this->setAttribute(Qt::WA_NoSystemBackground,true); this->setAttribute(Qt::WA_TransparentForMouseEvents,true); 请注意顺序,看文档

16,199

社区成员

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

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