首页| 论坛| 消息

标题:QT父窗口paintEvent 会被子窗口遮挡
作者:thro3388
日期:2021-09-02 19:47
内容:

最近做一个软件,在一个父窗口里面,有一个子窗口。我想在父窗口做文本的弹幕,例如一个文本hello,从屏幕
的最右面到最左面飘过,我用定时器在paintEvent里面绘制这个文本。当文本经过子窗口的时候 ,文本被子窗口遮挡住了。
一般这种情况怎么处理呢。QT提供类似的解决方案没有 。还是说必须要在子窗口里面去也用paintEvent来做。


#1 [20091001753 09-02 20:25]
当然有简单的办法。直接用 QLabel 就好,你只需要更新位置。
控件多了,自然涉及到遮挡关系,QLabel::raise() 可以把它置于顶层。
#2 回 20091001753 的帖子 [thro3388 09-03 11:38]
20091001753:当然有简单的办法。直接用 QLabel 就好,你只需要更新位置。
控件多了,自然涉及到遮挡关系,QLabel::raise() 可以把它置于顶层。 (2021-09-02 20:25) 
我就是想子窗口QLabel不遮挡我父窗口上面绘制出来的漂浮的文字。
#3 [20091001753 09-03 12:08]
没错啊,我的意思是:
漂浮的文字直接用 QLabel,不需要用 paintEvent 绘制。
为了保证漂浮的文字不被遮挡,用 QLabel::raise() 将它置于顶层。
#4 回 20091001753 的帖子 [thro3388 09-04 14:59]
20091001753:没错啊,我的意思是:
漂浮的文字直接用 QLabel,不需要用 paintEvent 绘制。
为了保证漂浮的文字不被遮挡,用 QLabel::raise() 将它置于顶层。 (2021-09-03 12:08) 
我之前用过,但是QLabel显示文本,会有一个方框。很丑。我设置成背景透明,结果整个窗口包括字体也透明了,所以才用绘制的方法。QLabel有没有字体不透明,背景透明的方法?我找了下资料。好像都没看到怎么实现

回复 发表
主题 版块