QDialog设置透明属性会影响页面的重绘

火花20180731 2020-05-10 03:40:25
我在QDialog上放了一个QTableView和一个QLabel,自定义的一个HeaderView全选表头,表格中数据首列是可勾选的复选框,label用来显示“一共(x)条数据,已勾选(y)条”,在勾选其中n条数据进行删除操作时,发现如果我的Dialog设置了透明属性(setAttribute(Qt::WA_TranslucentBackgound, true);),则点击删除按钮后,页面上数据没有反应,并且下方标签显示内容也没有变成“一共(x-n)条数据,已勾选0条”,当前实现”,需要点击表格某一位置被删除数据才会消失,但是如果我把设置注释掉,删除勾选数据就是正常的。难道是这个属性会影响界面的重绘吗?有没有好的解决方法?
...全文
553 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dinjay 2020-05-18
  • 打赏
  • 举报
回复
嗯,下回直接贴代码吧,很多时候大家看代码更直观
dinjay 2020-05-15
  • 打赏
  • 举报
回复
什么系统下的?win10?win7?xp?
火花20180731 2020-05-15
  • 打赏
  • 举报
回复
引用 7 楼 dinjay 的回复:
点击删除按钮后,页面上数据没有反应,并且下方标签显示内容也没有变成“一共(x-n)条数据,已勾选0条”,当前实现”,需要点击表格某一位置被删除数据才会消失

你这里的删除按钮,点击后只是对tableview做了删除的操作以及label改text是么?能贴一下代码么,因为我用demo验证没有发现你所描述的问题。


问题已经解决了,我把删除接口做成槽函数,在连接删除信号和槽函数以及label更新信号和槽函数的时候,加了Qt::QueueConnection
dinjay 2020-05-15
  • 打赏
  • 举报
回复
点击删除按钮后,页面上数据没有反应,并且下方标签显示内容也没有变成“一共(x-n)条数据,已勾选0条”,当前实现”,需要点击表格某一位置被删除数据才会消失

你这里的删除按钮,点击后只是对tableview做了删除的操作以及label改text是么?能贴一下代码么,因为我用demo验证没有发现你所描述的问题。
火花20180731 2020-05-15
  • 打赏
  • 举报
回复
引用 5 楼 dinjay 的回复:
什么系统下的?win10?win7?xp?


win10
火花20180731 2020-05-14
  • 打赏
  • 举报
回复
引用 2 楼 生在90后的60后 的回复:
setWindowOpacity(0); //窗体和子窗体全部透明

qss background-color: rgba(255, 255, 255, 200); 最后一个值表示透明度


我并不需要主窗口透明,我只是在用透明效果做一个自定义的对话框,方便我在外围绘制光晕
火花20180731 2020-05-14
  • 打赏
  • 举报
回复
引用 1 楼 dinjay 的回复:
你可以在qdialog里套一个qframe,然后dialog设置透明,table和label都放在frame里,这样应该就可以了,frame不透明设置个背景色

我的界面是外面一层QDialog里面由QFrame#frameBar和QFrame#frameContent组成的界面,两个QFrame拼接成圆角窗口,而外部的QDialog则设置为透明,并在周边绘制光晕,并且在QFrame#frameContent里面还套了两个QFrame展示不同子模块,所以使用QFrame的方式显然是没有任何效果的
slowlytalk 2020-05-13
  • 打赏
  • 举报
回复
setWindowOpacity(0); //窗体和子窗体全部透明 qss background-color: rgba(255, 255, 255, 200); 最后一个值表示透明度
dinjay 2020-05-12
  • 打赏
  • 举报
回复
你可以在qdialog里套一个qframe,然后dialog设置透明,table和label都放在frame里,这样应该就可以了,frame不透明设置个背景色

16,216

社区成员

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

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