• 4554阅读
  • 5回复

xp的开始菜单焦点获取问题 [复制链接]

上一主题 下一主题
离线hover_sky
 

只看楼主 倒序阅读 楼主  发表于: 2010-03-28
xp的开始菜单焦点获取问题
xp开始菜单的焦点处理是怎么实现的?

当单击开始菜单上面不是按钮的都是,开始菜单不隐藏;点击按钮,开始菜单就隐藏了;点击桌面,开始菜单就隐藏了;点击任务栏,开始菜单就隐藏了
离线yangfanxing
只看该作者 1楼 发表于: 2010-03-29
按钮的addMenu;
开始就是一个按钮,add一个相关的弹出菜单就可以了。
PHPWind好恶心。。。不想看这种界面。。。
离线hover_sky

只看该作者 2楼 发表于: 2010-03-29
QMenu菜单是向下的。所以不能用addMenu。

那个菜单我用了一个qwidget,但点击上面的空白地方,qwdiget却隐藏了。
离线yangfanxing
只看该作者 3楼 发表于: 2010-03-29
引用第2楼hover_sky于2010-03-29 09:59发表的  :
QMenu菜单是向下的。所以不能用addMenu。
那个菜单我用了一个qwidget,但点击上面的空白地方,qwdiget却隐藏了。

必须的?

菜单是向下的是什么意思?哦。。。我把PC的工具栏拉在屏幕上方了,呵呵。。。

那可以控制菜单的弹出位置吧?用contextMenuEvent重写的话。
PHPWind好恶心。。。不想看这种界面。。。
离线hover_sky

只看该作者 4楼 发表于: 2010-03-29
引用第3楼yangfanxing于2010-03-29 10:31发表的  :
必须的?
菜单是向下的是什么意思?哦。。。我把PC的工具栏拉在屏幕上方了,呵呵。。。
.......

菜单是向下的是跳出的菜单是向下的,如开始菜单调出的菜单就是向上的。
谢谢
离线hover_sky

只看该作者 5楼 发表于: 2010-03-29
包括1、2、3、4的红色方框是一个QWdiget,这里假定它叫“开始菜单” 。
“开始菜单” 是当点击“开始”按钮的时候才显示,否则隐藏。
当“开始菜单” 显示后,点击“开始菜单” 内非按钮的地方,如1,时,方框还是显示;当点击hello按钮,它就隐藏。
当点击6、7、8、9时,“开始菜单” 隐藏。


能不能这样处理“开始菜单” 的隐藏与显示?
把“开始菜单”整体作为一个焦点获取的整体。
当“开始菜单” 获得焦点时,它就是显示;然后再处理内部情况:点击按钮,它隐藏;点击非按钮部分,它继续显示。
当“开始菜单” 失去焦点时,如点击6、7、8、9就隐藏。

这该怎么弄?
快速回复
限100 字节
 
上一个 下一个