2012-09-24 60 views
1

欲实现这一点:借鉴透明Qt物件的线

  1. 有一定的宽度和高度(A透明插件)
  2. 画出该表面,使得仅概述的,关于某物的透明表面数字是屏幕,没有别的(没有在表面的背景上,我画应该有)

我做了一个小工具,并实现使之透明像这样上可见:

window.setAttribute(Qt::WA_TranslucentBackground); 
window.setWindowFlags (Qt::FramelessWindowHint); 
window.setGeometry(0,0,1200, 800); 
window.show(); 

然后我覆盖了函数paintEvent(QPaintEvent *);使用QPainter制作一个椭圆。

但是表面仍然只是黑色。有人可以解释吗?

回答

1

类似于我在一个类似的应用程序做了,但是我也没有:

window.setAutoFillBackground(false); 

也许这就是你缺少的部分?

编辑:另一个想法:在你paintEvent,你填补了小部件rect()用完全透明的颜色你画椭圆过吗?

+0

谢谢Stefan,我曾尝试过,但实际上却没用,仍然是黑色背景。 –

+0

圣烟!它开始工作..不幸的是,我删除了我昨天试过的代码,所以不能说是什么让它工作,但是现在它正在工作。也许正如你所说,我可能画了一个矩形并填充它。现在我正在做直接绘制椭圆 painter.drawEllipse(rectangle);谢谢。 –