首页| 论坛| 消息

标题:Qt应用程序所有界面实现,右键返回功能
作者:misgn
日期:2017-06-21 14:58
内容:

目前项目有一个需求,需要90%的界面实现,右键返回的功能。请教一下,大家的想法。
如何去实现,总不能每一个界面类都去重现 mouseEvent 把?


#1 [笑颜 06-21 15:38]
C++继承机制不就是为了减少代码而生的吗?组织好继承关系,就能很好的提高代码利用率。比如,你如果想所有窗口都能鼠标移动,可以提炼一个移动的窗口父类,需要的直接继承就行了,注意一个菱形继承的问题。
#2 回 笑颜 的帖子 [never_forget 06-21 16:24]
笑颜:C++继承机制不就是为了减少代码而生的吗?组织好继承关系,就能很好的提高代码利用率。比如,你如果想所有窗口都能鼠标移动,可以提炼一个移动的窗口父类,需要的直接继承就行了,注意一个菱形继承的问题。 (2017-06-21 15:38) 
楼主正解~~~
#3 回 笑颜 的帖子 [misgn 06-22 09:17]
笑颜:C++继承机制不就是为了减少代码而生的吗?组织好继承关系,就能很好的提高代码利用率。比如,你如果想所有窗口都能鼠标移动,可以提炼一个移动的窗口父类,需要的直接继承就行了,注意一个菱形继承的问题。 (2017-06-21 15:38) 
谢谢,经过测试的可以的。
界面画多了,导致忘记 C++ 老本行。流汗!
#4 [misgn 06-22 09:25]
昨天经过技术群,文档得到了以下三种方案。
1. 注册全局事件过滤器
2. 你写个基类,然后继承不就行了么。
3. 下一个继承与`QApplication`的`Event`事件,然后监测

第二种确定是可以用,但会和子窗体中的一些控件冲突,例如:你继承基类,然后子类中存在一个QLIneEdit,如果在LineEdit中进行右键事件,右键事件就会被QLineEdit给获取,处理,然后父窗体就无法处理右键事件了。
#5 回 misgn 的帖子 [自强不吸 06-22 16:42]
misgn:昨天经过技术群,文档得到了以下三种方案。
1. 注册全局事件过滤器
2. 你写个基类,然后继承不就行了么。
3. 下一个继承与`QApplication`的`Event`事件,然后监测
....... (2017-06-22 09:25) 
那你就得把第一条和第二天结合起来啊

<< 1 2 >> (1/2)

回复 发表
主题 版块