2011-09-08 29 views
1

我想用我的qt gui创建一个简单的效果,但我不知道如何实现此目的。当鼠标悬停在它上方时,会画出更大的qt小部件(小部件重叠)

我有几个小部件,我作为qwidget的子类实现。这些是另一个小部件的一部分,并在布局中生活。当鼠标悬停在这些小部件上时,我希望它们看起来更大,以突出显示所选小部件。

这就是我已经尝试过的: 覆盖绘画事件,并将其绘制得更大。但是,那些同样布局的其他小部件也会覆盖过大的区域。

我也尝试从父窗口调用“手动”绘画功能来控制绘画顺序。但那也没有帮助。

我认为必须有一种可能性来实现这种qt的效果,但我根本不知道如何。 任何想法?

+0

我不认为“绘制它更大”是一个好主意,但是当你这样做时,你是否尝试'raise()'小部件? – Mat

+0

但我想部件真的变得更大。不幸的是'raise()'不能阻止小部件被其他小部件覆盖。如果这有帮助:我想对自动隐藏部件有类似的效果,例如visual studio的解决方案资源管理器。 – Valerie

+0

然后用'resize()'使它更大,但是这可能会让你的布局变得糟糕。您可以设法使其与间隔符一起工作。我不知道,我不喜欢在鼠标下移动的东西。改变颜色/突出显示虽然可以。 – Mat

回答

0

你既可以:

  • 创建GUI一个QGraphicsView内部,QGraphicsWidget S和使用setScale当鼠标进入或离开窗口小部件,或
  • 使用QML。
相关问题