2009-10-21 23 views
3

我已经创造了一些QLabel型QT小部件下,并补充说,在QToolBar。我想突出显示光标下的特定小部件。我无法理解我该怎么做。有人可以帮忙吗?我需要QT 4QWidget中,如何突出插件的光标

感谢这个信息。

回答

9

您有几种可能性。 首先,如果您继承QLabel,则可以直接在课堂上处理mouse events。 确保使用QWidget :: setMouseTracking()来启用它。 在这种情况下,你可以做任何你想要与你的控制,但你必须 超越常规的油漆,使您的类可以在一些特定的方式绘制自己。

不幸的是QLabel不支持“悬停”样式表状态,使用户无法 与样式表做到这一点很容易。然而,如果你考虑从QPushButton继承,你可以拥有这个奇妙的功能 ,这样在CSS的帮助下你可以获得很好的高效效果。 有关QT外观样式表的更多信息,请参阅here

如果子类QPushButton是对你罚款,然后看here。 只要确保你在这个简单的例子也使用悬停状态,如: 的鼠标事件处理

QPushButton:hover { 
    background-color: black; 
} 
QPushButton:hover { 
    background-color: white; 
} 

例子可以发现here

+0

嗨, 谢谢您的回答。你能否指点一下QLabel处理鼠标事件的具体例子。另外我尝试使用QPushButton,但它显示了一些帧和所有,我不想要的,这就是为什么我使用QLabel。但请指点我QPushButton的一些示例代码。 谢谢。 – MnshSnghl 2009-10-21 10:29:07

+0

我更新了一些链接的例子。 – alexkr 2009-10-21 11:20:40

+0

您无法自己完成绘画,只需在鼠标输入/鼠标离开事件中更改调色板的背景颜色即可。这应该足够了。 – 2009-10-21 17:09:45

相关问题