• 5068阅读
  • 8回复

关于托盘的鼠标左右键事件 [复制链接]

上一主题 下一主题
离线hostc
 

只看楼主 倒序阅读 楼主  发表于: 2013-02-21
我给程序加了QSystemTrayIcon托盘,setContentMenu之后鼠标左右键点击都会弹出菜单,但是程序的需求是左键点击托盘显示/隐藏程序窗口,右键点击托盘才弹出菜单,我试了很多方法都不行,QSystemTrayIcon类也没有MouseEvent之类的东西,本身的信号中也只能判断单击、双击、中键点击。。。求助大神! 感激不尽
Qt
离线XChinux

只看该作者 1楼 发表于: 2013-02-21
可以在event()里处理左右键。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线hostc

只看该作者 2楼 发表于: 2013-02-21
谢谢回复。

我在我的主界面类 widgetA 中使用了QSystemTrayIcon,你的意思是在widgetA类中重写evevt()函数吗?我重写了之后和widgetA窗口本身相关的所有事件都能捕获,但是鼠标在托盘图标上的点击事件没有反应,捕获不到。
Qt
离线XChinux

只看该作者 3楼 发表于: 2013-02-21
不是widgetA,是QSystemTrayIcon::event()。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线hostc

只看该作者 4楼 发表于: 2013-02-21
改写完成。

我写了MyTrayIcon类继承QSystemTrayIcon,然后重写了MyTrayIcon::event()。
widgetA中使用MyTrayIcon作为托盘,然而鼠标在托盘图标上点击还是没有任何反应,求解...
Qt
离线hostc

只看该作者 5楼 发表于: 2013-02-21
求大神帮助。另外我的程序是在ubuntu上开发的。
Qt
离线XChinux

只看该作者 6楼 发表于: 2013-02-21
这就不清楚了,ubuntu的系统托盘没搞过。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线hostc

只看该作者 7楼 发表于: 2013-02-21
ubuntu上托盘本身没有问题的,难道是ubuntu上托盘的event方法有问题?我在windows上试一下就知道了
Qt
离线hostc

只看该作者 8楼 发表于: 2013-02-21
顶起来,希望做过类似功能的朋友帮忙~
Qt
快速回复
限100 字节
 
上一个 下一个