随笔分类 -  Qt-Event2

摘要:定义标题:嵌套事件循环是当您再次调用事件循环而不是返回它时。这是QCoreApplication::processEvents()、QDialog::exec()、QMessageBox::information()等。除了最受控制的情况外,使用这些传统方法执行嵌套事件循环是危险的,应该避免。另一方 阅读全文
posted @ 2021-11-30 18:13 findumars 阅读(0) 评论(0) 推荐(0) 编辑
摘要:Qt Quick中鼠标和触摸事件的传递非常复杂,几年前我们就清楚了我们需要重构事件继承层次结构,为各种事件类型提供一些通用的API,以便可以将更多传递代码共享。在Qt 5.8中,我们添加了QQuickPointerEvent和关联的类型,作为对可能的样子进行原型制作的一种方法。它们是QObjects 阅读全文
posted @ 2020-12-07 15:48 findumars 阅读(974) 评论(0) 推荐(0) 编辑
摘要:最近用Qt软件界面,需要用到mouseMoveEvent,研究了下,发现些问题,分享一下。 在Qt中要捕捉鼠标移动事件需要重写MouseMoveEvent,但是MouseMoveEvent为了不太耗资源在默认状态下是要鼠标按下才能捕捉到。要想鼠标不按下时的移动也能捕捉到,需要setMouseTrac 阅读全文
posted @ 2019-06-12 18:21 findumars 阅读(1428) 评论(0) 推荐(0) 编辑
摘要:事件系统在 Qt 中扮演了十分重要的角色,不仅 GUI 的方方面面需要使用到事件系统,Signals/Slots 技术也离不开事件系统(多线程间)。我们本文中暂且不描述 GUI 中的一些特殊情况,来说说一个非 GUI 应用程序的事件模型。 如果让你写一个程序,打开一个套接字,接收一段字节然后输出,你 阅读全文
posted @ 2019-02-17 23:47 findumars 阅读(2120) 评论(0) 推荐(0) 编辑
摘要:Qt的事件知识点: ①事件对象创建完毕后,Qt 将这个事件对象传递给 QObject 的 event() 函数。event() 函数并不直接处理事件,而是将这些事件对象按照它们不同的类型,分发给不同的事件处理器(event handler)。 ②event() 函数主要用于事件的分发。 ③事件过滤例 阅读全文
posted @ 2019-02-07 23:30 findumars 阅读(538) 评论(0) 推荐(0) 编辑
摘要:QPoint pos(0,0);QMouseEvent event0(QEvent::MouseButtonPress, pos, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);QApplication::sendEvent(ui->pushbutt 阅读全文
posted @ 2019-02-01 00:14 findumars 阅读(4746) 评论(0) 推荐(0) 编辑
摘要:状态机框架 Qt中的状态机框架为我们提供了很多的API和类,使我们能更容易的在自己的应用程序中集成状态动画。这个框架是和Qt的元对象系统机密结合在一起的。比如,各个状态之间的转换是通过信号触发的,状态可被配置为用来设置QObject对象的属性以及调用其方法。可以说Qt中的状态机就是通过Qt自身的事件 阅读全文
posted @ 2019-01-09 22:05 findumars 阅读(2421) 评论(1) 推荐(0) 编辑
摘要:版本: 上一章我们介绍了有关事件的相关内容。我们曾经提到,事件可以依情况接受和忽略。现在,我们就来了解下有关事件的更多的知识。 首先来看一段代码: C/C++ 35 lines 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2 阅读全文
posted @ 2018-12-19 21:34 findumars 阅读(983) 评论(0) 推荐(0) 编辑
摘要:QEvent的accept()和ignore()一般不会用到,因为不如直接调用QWidget类的事件处理函数直接,而且作用是一样的,见下面的例子。 推荐直接调用QWidget的事件处理函数。而不是调用accept()和ignore()。 只有一种情况下,必须使用调用accept()和ignore() 阅读全文
posted @ 2018-12-19 21:21 findumars 阅读(3277) 评论(0) 推荐(0) 编辑
摘要:Changes the thread affinity for this object and its children. The object cannot be moved if it has a parent. Event processing will continue in the tar 阅读全文
posted @ 2018-08-28 21:07 findumars 阅读(578) 评论(0) 推荐(0) 编辑
摘要:为application 设置setQuitOnLastWindowClosed属性,确实为true; 将其显示为false; 退出该应该程序不能调用QDialog的close消息槽,只能调用qApp->exit(); a.setQuitOnLastWindowClosed(false); http 阅读全文
posted @ 2018-08-23 17:15 findumars 阅读(2221) 评论(0) 推荐(0) 编辑
摘要:widget.h 1 virtual bool event(QEvent *event); 1 virtual bool event(QEvent *event); 1 virtual bool event(QEvent *event); 1 virtual bool event(QEvent *e 阅读全文
posted @ 2018-03-05 04:23 findumars 阅读(1234) 评论(0) 推荐(0) 编辑
摘要:QEvent 类是所有事件类的基类,事件对象包含事件参数。 Qt 的主事件循环(QCoreApplication::exec())从事件队列中获取本地窗口系统事件,将它们转化为 QEvents,然后将转换后的事件发送给 QObjects。 一般来说,事件来自底层窗口系统(spontaneous() 阅读全文
posted @ 2017-12-20 22:52 findumars 阅读(16851) 评论(0) 推荐(1) 编辑
摘要:Qt 自定义事件很简单,同其它类库的使用很相似,都是要继承一个类进行扩展。在 Qt 中,你需要继承的类是 QEvent。 继承QEvent类,你需要提供一个QEvent::Type类型的参数,作为自定义事件的类型值。这里的QEvent::Type类型是QEvent里面定义的一个enum,因此,你是可 阅读全文
posted @ 2017-12-13 01:23 findumars 阅读(6096) 评论(0) 推荐(0) 编辑
摘要:Qt事件机制 Qt程序是事件驱动的, 程序的每个动作都是由幕后某个事件所触发.。 Qt事件的发生和处理成为程序运行的主线,存在于程序整个生命周期。 Qt事件的类型很多, 常见的qt的事件如下: 键盘事件: 按键按下和松开. 鼠标事件: 鼠标移动,鼠标按键的按下和松开. 拖放事件: 用鼠标进行拖放. 阅读全文
posted @ 2017-12-07 22:59 findumars 阅读(2045) 评论(1) 推荐(0) 编辑
摘要:熟悉的陌生人 Qt 是事件驱动的,所以当你用Qt的时候,几乎时时刻刻和 QEventLoop 打交道、,只是你可能没有意识到: QCoreApplicaton::exec() QApplication::exec() QDialog::exec() QThread::exec() QDrag::ex 阅读全文
posted @ 2017-11-15 01:34 findumars 阅读(1460) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/-wang-cheng/p/4973021.html 1.一般我们的事件循环都是由exec()来开启的,例如下面的例子: 这些都开启了事件循环,事件循环首先是一个无限“循环”,程序在exec()里面无限循环,能让跟在exec()后面的代码得不到运行机会, 阅读全文
posted @ 2017-08-26 08:26 findumars 阅读(3768) 评论(0) 推荐(0) 编辑
摘要:/**************************************************************************** ** ** Copyright (C) 2015 The Qt Company Ltd. ** Contact: http://www.qt.io/licensing/ ** ** This file is part of the QtCor... 阅读全文
posted @ 2017-06-27 21:37 findumars 阅读(1788) 评论(0) 推荐(1) 编辑
摘要:一路跟踪源码,关键就是这两句: 阅读全文
posted @ 2017-06-27 19:16 findumars 阅读(3606) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示