随笔分类 -  Qt-Event2

摘要:Qt键盘事件属于Qt事件系统,所以事件系统中所有规则对按键事件都有效。下面关注点在按键特有的部分: 一个拥有焦点(focus)的QWidget才可以接受键盘事件。有输入焦点的窗口是活动窗口或活动窗口子窗口或子子窗口等。 焦点移动的方式有以下几种: 按下Tab或Shift+Tab 注意:文本编译器(一 阅读全文
posted @ 2016-10-27 23:18 findumars 阅读(41448) 评论(0) 推荐(1) 编辑
摘要:简述 QEvent 类是所有事件类的基类,事件对象包含事件参数。 Qt 的主事件循环(QCoreApplication::exec())从事件队列中获取本地窗口系统事件,将它们转化为 QEvents,然后将转换后的事件发送给 QObjects。 一般来说,事件来自底层窗口系统(spontaneous 阅读全文
posted @ 2016-10-23 19:31 findumars 阅读(5663) 评论(1) 推荐(0) 编辑
摘要:1、setFocusPolicy(...)设置获得焦点的方式 2、setFocus使Widge获得焦点 3、void QWidget::setFocusProxy ( QWidget * w ) 设置焦点的委托 将该widget的focus proxy设置给w。如果w为0,该函数将此widget设为 阅读全文
posted @ 2016-10-20 21:57 findumars 阅读(6784) 评论(0) 推荐(0) 编辑
摘要:起源 前些天忘记在哪儿讨论过这个问题,今天在csdn又看到有网友问这个问题,而其他网友却无一例外的给出了“无序”这个答案。 Manual Qt的问题,当manual中有明确文字说明时,我们应该以Qt的manual为准: http://doc.qt.nokia.com/4.8/signalsandsl 阅读全文
posted @ 2016-09-13 17:59 findumars 阅读(738) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/qing666888/article/details/14111271 http://blog.csdn.net/qing666888/article/details/14111279 阅读全文
posted @ 2016-09-13 05:51 findumars 阅读(330) 评论(0) 推荐(0) 编辑
摘要:概念 1. 模态窗体是指:在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭。 2. 非模态窗体是指:当被打开时,用户既可选择和该对话框进行交互,也可以选择同应用程序的其他窗口交互。 方法 1.在Qt中,显示一个对话框一般有两种方式,一种是使用exec()方法,它总是以 阅读全文
posted @ 2016-09-10 23:06 findumars 阅读(6483) 评论(0) 推荐(2) 编辑
摘要:使用QT编辑界面,其中带来很大方便的一点就是Qt中自带丰富的、种类齐全的类及其功能函数,程序员可以在编辑程序的过程中简单地直接调用。关于窗口关闭的操作,在这里指出常用的三个槽,即quit(),exit()以及close()。 首先说明窗口退出时,系统提示对话框的代码编辑。对主程序的退出,可以调用成员 阅读全文
posted @ 2016-09-01 16:32 findumars 阅读(47144) 评论(0) 推荐(2) 编辑
摘要:Qt事件机制 Qt程序是事件驱动的, 程序的每个动作都是由幕后某个事件所触发.。 Qt事件的发生和处理成为程序运行的主线,存在于程序整个生命周期。 Qt事件的类型很多, 常见的qt的事件如下: 键盘事件: 按键按下和松开. 鼠标事件: 鼠标移动,鼠标按键的按下和松开. 拖放事件: 用鼠标进行拖放. 阅读全文
posted @ 2016-08-11 06:31 findumars 阅读(1066) 评论(0) 推荐(0) 编辑
摘要:qt 如何捕获全屏的鼠标事件,这个帖子上面主要讲述了下嵌入式qt怎么抓取系统级消息,不过从这篇文章中我也看到了希望,有个回复说winEventFilter支持这种方式,然后我就顺着这个线索找到了nativeEventFilter方法,最终试验成功。首先是让你自己的类继承自QAbstractNativ 阅读全文
posted @ 2016-08-04 23:23 findumars 阅读(5782) 评论(0) 推荐(1) 编辑
摘要:虽然只有一句话,但却是我自己的心得。 特别注意,bool QCoreApplication::notify(QObject *receiver, QEvent *event) 明确指明了要发送的对象,以及要发送的事件,信息都这么清楚了,那覆盖后还不是为所欲为~而且我估计notify在过滤器之前执行。 阅读全文
posted @ 2016-07-25 02:01 findumars 阅读(346) 评论(0) 推荐(0) 编辑
摘要:一个既自己处理Tab事件又自己处理某些按键事件,然后将其它不需自己处理的事件转发给基类处理: bool MyWidget::event(QEvent *event){ if (event->type() == QEvent::KeyPress) { QKeyEvent *ke = static_ca 阅读全文
posted @ 2016-07-25 01:53 findumars 阅读(670) 评论(0) 推荐(0) 编辑
摘要:相信大家都用过词典吧!因为英语不太好。。。O(∩_∩)O~,所以经常进行划词翻译! 简述 实现 效果 源码 更多参考 简述 实现 效果 源码 更多参考 效果 源码 实现 原理:鼠标移至某单词之上,获取鼠标位置,然后在对应位置进行取词,翻译! 基于此原理,下面我们实现为每一个单词显示QToolTip。 阅读全文
posted @ 2016-07-25 00:58 findumars 阅读(3539) 评论(0) 推荐(0) 编辑
摘要:创建用户事件 创建一个自定义类型的事件,首先需要有一个事件号,其值通常大于QEvent::User。为了传递事件信息,因此必须编写自定义的事件类,该事件类从QEvent继承。 编写用户事件:编写用户事件类的方法是首先定义一个事件号。然后实现用户事件类,应用程序将把用户事件类于Qt的事件类同等处理。 阅读全文
posted @ 2016-07-22 19:50 findumars 阅读(2077) 评论(0) 推荐(0) 编辑
摘要:手动事件处理 最基本的解决方案是明确要求Qt在计算的某些时刻处理等待事件。要做到这一点,必须定期调用QCoreApplication::processEvents()。 下面的例子显示如何做到这一点: 这种方法有明显的缺点。例如:假设你想要并行调用两个类似这样的循环,其中一个将会阻止另一个直到第一个 阅读全文
posted @ 2016-07-18 21:44 findumars 阅读(4059) 评论(0) 推荐(0) 编辑
摘要:代码来自安晓辉: 更关键的运行代码: 阅读全文
posted @ 2016-07-08 00:51 findumars 阅读(850) 评论(0) 推荐(0) 编辑
摘要:ddd 阅读全文
posted @ 2016-07-07 06:36 findumars 阅读(387) 评论(0) 推荐(0) 编辑
摘要:重载以下两个函数,可以实现将文本文件拖放进文本编辑器 void MainWindow::dragEnterEvent(QDragEnterEvent *event)//拖进事件 http://blog.csdn.net/liuguangzhou123/article/details/7362083 阅读全文
posted @ 2016-07-03 05:05 findumars 阅读(2170) 评论(0) 推荐(0) 编辑
摘要:// 目的:从某个对话框里,选择一些路径,然后用Tree自动展开这些路径,但至少需要几秒钟时间 // 问题:在这几秒钟期间,显示一个等待对话框,只能开多线程,因为后台继续要处理tree的一些事情。等待处理结束,就希望这个等待对话框立刻关闭 // 现象:对话框一闪而过 一般情况下:而是要一边操作这个, 阅读全文
posted @ 2016-06-23 19:04 findumars 阅读(341) 评论(0) 推荐(0) 编辑
摘要:http://doc.qt.io/qt-4.8/qprogressdialog.html progressdialog 用到了qfuture http://blog.csdn.net/liang19890820/article/details/51067310 QEventLoop *loop = 阅读全文
posted @ 2016-06-23 17:58 findumars 阅读(200) 评论(0) 推荐(0) 编辑
摘要:转自:http://my.oschina.net/voler/blog/345722 目录[-] 0. 源代码下载地址 1. 简单文件拖放 2. 复杂文件拖放 3. 通过按钮来完成列表数据的转移 4. 通过拖放文件来达到效果 1. 简单文件拖放 1. 一般情况下,编辑框可以直接接收到文件名 2. 程 阅读全文
posted @ 2016-06-20 04:38 findumars 阅读(19104) 评论(2) 推荐(0) 编辑