![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
QT
文章平均质量分 68
huangzi666
这个作者很懒,什么都没留下…
展开
-
QT信号与槽
初学QT,觉得理解QT信号与槽比较重要,QT很多时候都需要用到信号和槽。发射信号会触发相对应的槽函数的执行。一个信号可以对应多个槽,多个信号可以对应一个槽。信号和槽是通过connect这个方法进行建立联系的。QT中有些类会自带有一些信号和槽函数,当然信号和槽函数也可以自己定义。下面来看下很简单的代码,会很容易就理解了。 //这里定义了个类 tcpevent.h class tcpevent:原创 2015-06-26 13:34:26 · 602 阅读 · 0 评论 -
QT事件(1)
QT事件的产生可分为两种,一种是系统自身产生的,比如定时器,另一种是用户操作产生的,比如鼠标,键盘事件。QT是用一个事件队列来维护事件,这些事件都是不可预知的,比如我们并不知道用户何时按下鼠标,所以当有事件产生时,新产生的事件就会添加到队列后面,等待着被处理。当然也可以通过一些方法直接处理。 因为我在公司做的项目不算难,基本不用去关心事件是如何发生,如何处理的,更多的是在关心信号和槽函数的连接,原创 2015-08-10 16:25:04 · 428 阅读 · 0 评论 -
QT事件(2)
这里是自己学习QT事件的一个笔记,讨论的是QT事件的接受与忽略,先看下面一段小代码。 class TestButton : public QPushButton { Q_OBJECT public: explicit TestButton(QWidget *parent = 0); public slots: void OnButtonClick(); } TestBu原创 2015-08-27 10:18:55 · 449 阅读 · 0 评论 -
QT事件(3)
之前的文章说的都是具体事件处理函数,比如mousePressEvent(QMoseEvent *event)这种函数就是具体的事件处理函数,他是专门处理鼠标press的,那么究竟是谁去区分是鼠标事件还是键盘事件或者是其他的事件,然后再扔给具体事件处理函数去处理呢?下面我们看下一个源码大致模型: bool QObject::event(QEvent *e) { switch (e->typ原创 2015-09-07 15:37:23 · 438 阅读 · 0 评论 -
QT事件(4)
QT事件(3)里说到了event函数有屏蔽拦截事件的功能,但是当有很多组件的时候,岂不是要重写很多个event函数?而且重写event函数还得注意一大堆问题,比如说什么时候去调用父类的event函数等问题。那么这个时候我们可以用QT提供的事件过滤器eventFilter(QObject *obj, QEvent *e),这个函数相当于创建一个过滤器,属于QObject里的成员函数,obj表示要监视原创 2015-09-08 10:35:21 · 577 阅读 · 0 评论