2012-08-30 60 views
0

我想在Qt中编写一个没有装饰的小部件。在这里,我的意思是没有标题栏或任何一个普通小部件的“灰色区域”。例如,我想用QPainter画一个圆:没有装饰的Qt小部件

QPainter painter(this); 
painter.setRenderHint(QPainter::Antialiasing); 
painter.setBrush(QBrush(QColor(100, 100, 100,255), Qt::SolidPattern)); 
painter.drawEllipse(QPoint(200, 200), 50, 50); 

我希望那个圆是实际的小部件。例如,当我在位置(249,249)(位于圆圈之外但位于圆圈的外接正方形内部)的圆圈外点击以激活其下面的实体(以便成为一个圆形窗口,而不是一个sqare)时。

我已经做了一些研究,但我没有得到任何进一步从QSplashScreen这是最接近我想要的东西(身份证没有装饰,我可以借鉴它,但它仍然有灰色方形形成窗口并且可点击的区域)

这可以在Qt中完成吗?

回答

1

我认为相关的属性是Qt :: FramelessWindowHint和QWidget :: setMask()。

+0

我认为你是对的。我查看了文档,还发现了形状时钟的例子,这正是我想要的。 –