• 5668阅读
  • 2回复

请问Qt如果实现自绘的菜单 [复制链接]

上一主题 下一主题
离线laurentium
 
只看楼主 倒序阅读 楼主  发表于: 2008-11-18
— 本帖被 XChinux 执行加亮操作(2008-11-30) —
求教思路
比如QQ的菜单或者Office的菜单那种自绘的菜单,在Qt中应该怎么来实现?
离线vrcats
只看该作者 1楼 发表于: 2008-11-18
如果你不顾任何QStyle,那简单,因为QMenu是QWidget,只要继承然后重写paintEvent(...)就好。如果要考虑QStyle事情就很复杂了。你必须得在你要实现的Style里头重写drawControl(...)函数的CE_MenuItem, CE_MenuBarItem部分。

不得不承认QStyle是一个失败的主意。它把重画部件的过程弄得空前复杂,本身的实现也非常困难。所以QStyle正在淡出Qt,将来肯定是CSS的天下了。
离线laurentium
只看该作者 2楼 发表于: 2008-11-18
因为QMenu是QWidget,只要继承然后重写paintEvent(...)就好 ?

听起来不错,我试试看,thanks
快速回复
限100 字节
 
上一个 下一个