找回密码
 立即注册

Qt学习之路第18篇 标准对话框 事件

查看数: 28425 | 评论数: 21 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2013-9-9 13:49

正文摘要:

版权声明该文章原创于Qter开源社区(www.qter.org),作者devbean,博客www.devbean.net,转载请注明出处! 事件(event)是由系统或者 Qt 本身在不同的时刻发出的。当用户按下鼠标、敲下键盘,或者是窗口需要重新 ...

回复

BeforeNight 发表于 2016-6-17 22:39:57
怎么没有贴头文件,也没有说是什么版本,不好编译啊
shamoonqt 发表于 2014-11-12 17:51:30
这一篇文章的意思好像是在说:由于事件函数是virtual protected的,那么我们可以在子类里面重载他们,来定义我们自己的事件处理操作,那么当事件触发时(或者说事件来临时)就会执行我们在子类中定义的事件处理函数。
Sandra377 发表于 2016-7-31 21:26:42
这篇是在说,事件是用户或系统发出的,去执行某一功能的。事件不是顺序执行的,而是用户点击哪个button,就执行哪个事件,,所以,我们是没有办法预测事件的发生顺序的。如果用户什么button都不点击,这个程序就会被停滞。 在Qt中,事件和信号有些相似。Qt不关心事件,关心的是时间发生的信号,也就是说,我们不管click了哪一个button,只关心clicked()这个信号,关键是转到信号槽的操作。这并不是说事件和信号可以相互替代。事件有事件的特点,Qt用事件队列来管理事件,事件不会立即发生(也有立即发生的情况),也会有过滤机制,而信号一旦发出,会立即调用connect函数执行。使用组件时,我们关注的是信号。使用自定义组件时,我们就要关注事件了,以为我们需要程序按照我们的设想,不是系统自定义的方式来执行。我们一直在用的QCoreApplication类,他的exec()函数就是事件循环的开始。事件发生时,Qt创建一个事件对象,事件都是QEvent类型的。创建完成后,Qt将这个事件对象交给QObject类的event()函数,event()函数将这个事件根据类型分配给event handelr事件处理函数。。。。。比如鼠标事件,关键字事件.........后面用一个实例来讲,听清楚的。心态不一样...果然看程序都不一样了。。。。。
buriedpot 发表于 2019-9-24 20:34:44
ruozhilzd 发表于 2019-9-21 11:09
"Press: (%1, %2)"请问这一句这些都是什么意思啊还有那些/,C的语法规则中,这是怎么用的啊 ...

<centre>就是居中吧,h1就是html中的一级标题,字体最大,h2h3越来越小这样的,都是html的标签
buriedpot 发表于 2019-9-24 11:25:11
这个文章真的写的不错,很多问题看完代码有一些细节,我刚想问,没想到都在后面一一解释,一个不落,作者真的用心了
ruozhilzd 发表于 2019-9-21 11:09:37
"<center><h1>Press: (%1, %2)</h1></center>"请问这一句这些<>都是什么意思啊还有那些/,C的语法规则中,这是怎么用的啊
Anthority 发表于 2019-8-25 11:23:40
#include <QWidget> #include <QApplication> #include <QPushButton> #include <QEvent> #include <QLabel> #include <QMouseEvent>
waveplot 发表于 2019-5-30 22:28:15
一般是自己开发组件才会重写控件的事件,这和MFC的道理感觉是类似的。
理解Qt的事件、信号、槽和MFC消息的区别于联系对以后的程序开发有很大的帮助啊
xiaoyulyy 发表于 2019-3-23 15:55:17
使用qt5的Creator,01-07行代码写入头文件,09-27行写入mainwindow.cpp中,29-39写入main.cpp中,可运行
陈州放粮小包拯 发表于 2018-11-23 16:51:01
厉害,牛逼,完美!。。。。。。。。。。。。。。。。。。。。。。
owenmsd9880 发表于 2018-9-14 15:25:42
    this->setText(QString("<center><h1>Move: (%1, %2)</h1></center>")
                this->setText(QString("<center><h1>Press: (%1, %2)</h1></center>")
                   msg.sprintf("<center><h1>Release: (%d, %d)</h1></center>",
这三行代码,同学们把 (%1, %2)  (%d, %d)   改成  [%1, %2]   [%d, %d]

头文件有 <QLabel>   <QMouseEvent>
  
           
WeiEpic 发表于 2018-8-21 10:01:21
不用connect就能关联,很方便啊
huang98778 发表于 2018-4-27 10:51:40
.h文件包含QLabel
main  包含头文件 QMouseEvent
GoldenLee 发表于 2018-1-30 20:18:03
这个代码头文件是什么?这样直接上去编译不同股哟
sunnystone 发表于 2018-1-4 23:29:35
#include "mainwindow.h"
#include <QApplication>
#include <QLabel>
#include <QEvent>
#include <QMouseEvent>
#include <QString>
叶文博 发表于 2017-3-9 17:21:34
额,事件! 继续学习!!!!!!!!!!!!
haoaijun 发表于 2016-12-29 18:23:32

很详细的讲解,认真学习
Sandra377 发表于 2016-7-31 20:52:20
越来越看不懂了,哭死....
BeforeNight 发表于 2016-6-17 16:59:23
头文件是什么啊,是QT4还是QT5啊
gavin_8724 发表于 2016-5-29 14:02:29
很详细的讲解,认真学习

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了