
QT/事件
imxiangzi
这个作者很懒,什么都没留下…
展开
-
关于Qt 中update()和repaint()的区别
void QWidget::repaint ( int x, int y, int w, int h, bool erase = TRUE ) [槽]通过立即调用paintEvent()来直接重新绘制窗口部件,如果erase为真,Qt在paintEvent()调用之前擦除区域(x,y,w,h)。 如果w是负数,它被width()-x替换,并且如果h是负数,它被height()-y替转载 2015-11-24 23:28:28 · 1840 阅读 · 0 评论 -
安装事件过滤器(installEventFilter) ,过滤子控件事件,截获控件按键、鼠标事件
文章来自:http://blog.youkuaiyun.com/iamdbl/article/details/1630043#【最近又搞回QT,嵌入式中经常会用到自定义键盘,要在程序里判断事件,这篇文章很好的诠释了处理过程,强烈推荐!】Qt的事件模型一个强大的功能是一个QObject对象能够监视发送其他QObject对象的事件,在事件到达之前对其进行处理。假设我们有一个Custom转载 2016-02-25 23:39:38 · 2529 阅读 · 0 评论 -
Qt::FocusPolicy的使用
想在qt中实现的效果: 一个QWidget窗口中间,有多个子窗口,选中每个窗口,每个窗口边框变色,代表选中该子窗口。如下效果,点击某个子窗口: 前提:介绍一下Qt的聚焦策略 enum Qt::FocusPolicyThis enum type defines the various policies a widget can have转载 2016-02-25 23:39:05 · 15437 阅读 · 0 评论 -
Qt中的焦点事件
在应用程序中,都会有一个当前窗口,即当前获得焦点事件的窗口,这个窗口可以接受键盘的输入。当应用有多个窗口时就要使用焦点事件了!Qt中有很好的焦点事件管理,我在这里抛砖引玉了。一个空间要先设置它焦点事件的模式,即窗口如何接受焦点事件(通过鼠标单击、Tab键、不接受焦点事件等)voidsetFocusPolicy ( Qt::FocusPolicy poli转载 2016-02-25 23:38:28 · 1632 阅读 · 0 评论 -
Qt键盘事件
#ifndef COMPLETELINEEDIT_H#define COMPLETELINEEDIT_H#include #include class QListView;class QStringListModel;class QModelIndex;class CompleteLineEdit : public QLineEdit { Q_OB转载 2016-02-25 23:37:49 · 1726 阅读 · 0 评论 -
Qt 学习之路 2(23):自定义事件
尽管 Qt 已经提供了很多事件,但对于更加千变万化的需求来说,有限的事件都是不够的。例如,我要支持一种新的设备,这个设备提供一种崭新的交互方式,那么,这种事件如何处理呢?所以,允许创建自己的事件 类型也就势在必行。即便是不说那种非常极端的例子,在多线程的程序中,自定义事件也是尤其有用。当然,事件也并不是局限在多线程中,它可以用在单线程的程序中,作为一种对象间通讯的机制。那么,为什么我需要使用事件,转载 2015-12-31 11:29:13 · 595 阅读 · 0 评论 -
[原]Qt 自定义事件
最近做的项目,是用QT的完成的,在用到事件派发的时候,要用自己自定义的事件类型来满足需要。具体就是按照Qt的官方文档说明,做了一个简单的例子,以免忘记,就先写下来保存。首先有个CustomEvent 类,继承自QEvent#ifndef CUSTOMEVENT_H#define CUSTOMEVENT_H#include enum转载 2015-12-31 11:28:19 · 3032 阅读 · 1 评论 -
自定义QT事件
1、事件ID 本质上就是一个整型值。0-999作为系统保留字段,自定义事件从QEvent::User(也就是1000)开始, 例如: #define MY_EVENT QEvent::User+100 大部分情况下自定义事件是不会冲突的,如果我们还引入了其他库,也不完全能确保如此,最好的方式就是通过系统事件获取事件ID。转载 2015-12-31 11:27:45 · 444 阅读 · 0 评论 -
Qt学习之路(21): event()
今天要说的是event()函数。记得之前曾经提到过这个函数,说在事件对象创建完毕后,Qt将这个事件对象传递给QObject的event()函数。event()函数并不直接处理事件,而是将这些事件对象按照它们不同的类型,分发给不同的事件处理器(event handler)。event()函数主要用于事件的分发,所以,如果你希望在事件分发之前做一些操作,那么,就需要注意这个event()函数了转载 2015-09-02 14:07:27 · 519 阅读 · 0 评论 -
【转】QT中窗口刷新事件的学习总结
一.主要理解一下几个方法和属性: 1.QWidget * QScrollView::viewport () const2.void QWidget::paintEvent ( QPaintEvent * ) [虚 保护]3.void QWidget::repaint ( int x, int y, int w, int h, bool erase = TRUE ) [槽]转载 2015-11-24 23:27:39 · 3923 阅读 · 0 评论 -
Qt事件系统
摘自:http://hi.baidu.com/dbzhang800/item/bf280a7483de682ad6a89c47Qt是事件驱动的, 程序每个动作都是由某个事件所触发。 Qt事件的类型很多,我们可以通过查看Qt的 manual中的Event System 和 QEvent 来获得各个事件的详细信息。为了完整起见,一份Qt4.6的事件列表附在本文后面。事件来源转载 2015-10-21 10:33:53 · 1501 阅读 · 0 评论 -
QT事件--阐述的比较系统
转载:http://www.qtcn.org/bbs/simple/?t31383.htmlAnother Look at Events(再谈Events) 最近在学习Qt事件处理的时候发现一篇很不错的文章,是2004年季刊的一篇文章,网上有这篇文章的翻译版,但是感觉部分地方翻译的比较粗糙,不是很明确。索性重新翻译了一遍,并引用了原翻译版的一段译注。以下都是用自己能理解的方式转载 2015-10-21 10:17:48 · 1093 阅读 · 0 评论 -
Qt事件处理(四)
Qt处理事件的第四种方式:"在QApplication中注册事件过滤器",如果一个事件过滤器被注册到程序中唯一的QApplication对象,应用程序中所有对象里的每一个事件都会在它们被送达其他事件事件过滤器之前,首先抵到这个eventFilter()函数。 在这里继承一个QWidget用来注册QApplication事件过滤器,MyWidget的头文件mywidget.h如下:转载 2015-09-02 12:24:10 · 480 阅读 · 0 评论 -
Qt事件处理(一)
从这章开始,我将简单实现Qt事件处理的五种方式,这五种方式的实现都是基于一个自定义的Button,我将它命名为MyButton。由于我是刚学Qt,有什么讲的不对的地方,请指正,不胜感激。 首先来看第一种事件处理:"重新实现特定的事件处理器",这种方式最简单,派生于一个组件,重新实现它的事件处理。这里我主要实现的是mousePressEvent、mouseReleaseEvent以及mou转载 2015-09-02 12:22:13 · 492 阅读 · 0 评论 -
使用Qt开发绘制多个设备的流量曲线图(附带项目图)
一、说明:在实际项目中,主要是使用Qt开发CS程序,当然主要是客户端。公司项目中有这个需求是实时显示多个设备的流量曲线图,设备将流量信息发给服务端,服务端再将信息通过Socket发给Qt客户端,Qt客户端通过Socket接收后实时显示在程序的一个窗口上;这个显示是以曲线图的展示方式。二、界面模型接到这个功能需求后,使用的界面模型如下图所示,图示已经标示的很清楚了,我就不多详细描转载 2015-12-03 00:22:35 · 2427 阅读 · 0 评论 -
详解 QT 源码之 Qt 事件机制原理
QT 源码之 Qt 事件机制原理是本文要介绍的内容,在用Qt写Gui程序的时候,在main函数里面最后依据都是app.exec();很多书上对这句的解释是,使Qt 程序进入消息循环 。下面我们就到exec()函数内部,来看一下他的实现原理 。Lets go!首先来到QTDIR\src\corelib\kernel\qcoreapplication.cppint QCoreAppli转载 2015-09-02 12:18:54 · 1999 阅读 · 0 评论 -
Qt中父子widget的事件传递
以前我一直以为:在父widget上摆一个子widget后,当click子widget时:只会进入到子widget的相关事件处理函数中,比如进入到mousePressEvent()中, 而不会进入到父widget的对应事件处理函数中。毕竟:click的是子widget,其遮挡住了父widget,从而父widget接收不到这个事件。然而事实真的是这个样子吗? 我做了一个测试: 在一个Q转载 2017-07-21 11:47:55 · 5035 阅读 · 1 评论