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