Qt5窗口透明问题!!!

_Gx 2013-07-02 04:33:55
我想要在Qt5中实现主窗体透明,但是上面的控件不透明的效果。

因为Qt5和之前的Qt4有差别,我试了很多以前的方法都不行,

有没有人知道Qt5怎么去实现这个效果?
...全文
552 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanlan1284 2015-04-24
  • 打赏
  • 举报
回复
引用 6 楼 lanlan1284 的回复:
[quote=引用 4 楼 raining_0104 的回复:] [quote=引用 2 楼 q245879 的回复:] [quote=引用 1 楼 raining_0104 的回复:] Qt 5 的透明和 4 也是类似的,只是貌似5有Bug:使用 SetAttribute(Qt::WA_Translucentbackground) 时,窗口透明部分会不断重绘,导致最终变成黑色
这个在Qt5不管用,窗口好像隐藏了一样,看不到。[/quote] 这说明透明起效果了。把 SetAttribute(Qt::WA_Translucentbackground) 放在Ui 类的 ui->setupUi(this) 之前就能看到窗口上的控件了。[/quote] 你好!请问我想设置半透明的怎么解决呢?构造函数SetAttribute(Qt::WA_Translucentbackground)(没有ui->setupUi(this)) ,paintEvent里painter.fillRect( QRect( 0, 0, 800, 480 ), QColor( 0, 0, 0, 40 ) );之前Qt4这样是可以的,换了Qt5就变成黑色了……Linux开发板[/quote] 还有就是拖放里,拖动的有透明效果的图片也变成黑色了……
lanlan1284 2015-04-24
  • 打赏
  • 举报
回复
引用 4 楼 raining_0104 的回复:
[quote=引用 2 楼 q245879 的回复:] [quote=引用 1 楼 raining_0104 的回复:] Qt 5 的透明和 4 也是类似的,只是貌似5有Bug:使用 SetAttribute(Qt::WA_Translucentbackground) 时,窗口透明部分会不断重绘,导致最终变成黑色
这个在Qt5不管用,窗口好像隐藏了一样,看不到。[/quote] 这说明透明起效果了。把 SetAttribute(Qt::WA_Translucentbackground) 放在Ui 类的 ui->setupUi(this) 之前就能看到窗口上的控件了。[/quote] 你好!请问我想设置半透明的怎么解决呢?构造函数SetAttribute(Qt::WA_Translucentbackground)(没有ui->setupUi(this)) ,paintEvent里painter.fillRect( QRect( 0, 0, 800, 480 ), QColor( 0, 0, 0, 40 ) );之前Qt4这样是可以的,换了Qt5就变成黑色了……Linux开发板
_Gx 2013-07-03
  • 打赏
  • 举报
回复
引用 4 楼 raining_0104 的回复:
[quote=引用 2 楼 q245879 的回复:] [quote=引用 1 楼 raining_0104 的回复:] Qt 5 的透明和 4 也是类似的,只是貌似5有Bug:使用 SetAttribute(Qt::WA_Translucentbackground) 时,窗口透明部分会不断重绘,导致最终变成黑色
这个在Qt5不管用,窗口好像隐藏了一样,看不到。[/quote] 这说明透明起效果了。把 SetAttribute(Qt::WA_Translucentbackground) 放在Ui 类的 ui->setupUi(this) 之前就能看到窗口上的控件了。[/quote] 恩,这个确实是可以。
  • 打赏
  • 举报
回复
引用 2 楼 q245879 的回复:
[quote=引用 1 楼 raining_0104 的回复:] Qt 5 的透明和 4 也是类似的,只是貌似5有Bug:使用 SetAttribute(Qt::WA_Translucentbackground) 时,窗口透明部分会不断重绘,导致最终变成黑色
这个在Qt5不管用,窗口好像隐藏了一样,看不到。[/quote] 这说明透明起效果了。把 SetAttribute(Qt::WA_Translucentbackground) 放在Ui 类的 ui->setupUi(this) 之前就能看到窗口上的控件了。
Inhibitory 2013-07-02
  • 打赏
  • 举报
回复
引用 1 楼 raining_0104 的回复:
Qt 5 的透明和 4 也是类似的,只是貌似5有Bug:使用 SetAttribute(Qt::WA_Translucentbackground) 时,窗口透明部分会不断重绘,导致最终变成黑色
Mac下也有此Bug,连setMask都有问题。 Qt4.7在Mac下没问题。
_Gx 2013-07-02
  • 打赏
  • 举报
回复
引用 1 楼 raining_0104 的回复:
Qt 5 的透明和 4 也是类似的,只是貌似5有Bug:使用 SetAttribute(Qt::WA_Translucentbackground) 时,窗口透明部分会不断重绘,导致最终变成黑色
这个在Qt5不管用,窗口好像隐藏了一样,看不到。
  • 打赏
  • 举报
回复
Qt 5 的透明和 4 也是类似的,只是貌似5有Bug:使用 SetAttribute(Qt::WA_Translucentbackground) 时,窗口透明部分会不断重绘,导致最终变成黑色

16,203

社区成员

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

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