Qt学习--事件/信号
2013-05-28 22:55
295 查看
在编写串口程序的时候,想法实现发送框双击发送数据,可以发现QPlainTextEdit这类既然没有DoubleClick这个信号,后来找了下相关资料,只知道QPlainTextEdit的基类是QWidget,且该类是带有MouseDoubleClickEvent这个事件的,可问题是我想直接就能在我的主程序累里使用该事件,结果试了好多的方式,看了不少的资料都没找到什么可行的方案。
那没办法,老老实实的在QPlainTextEdit类上派生一个类,并且重载了virtual void mouseDoubleClickEvent ( QMouseEvent * event )函数,在自定义了一个mouseDoubleClick信号,每当个该事件触发的时候,我就发出一个双击信号,这样功能也就实现了。
那没办法,老老实实的在QPlainTextEdit类上派生一个类,并且重载了virtual void mouseDoubleClickEvent ( QMouseEvent * event )函数,在自定义了一个mouseDoubleClick信号,每当个该事件触发的时候,我就发出一个双击信号,这样功能也就实现了。
qsendtextedit.h #ifndef QSENDTEXTEDIT_H #define QSENDTEXTEDIT_H #include <QPlainTextEdit> class QSendTextEdit : public QPlainTextEdit { Q_OBJECT public: explicit QSendTextEdit(QWidget *parent = 0); signals: void mouseDoubleClick(void); public slots: protected: virtual void mouseDoubleClickEvent(QMouseEvent *e); }; #endif // QSENDTEXTEDIT_H
qsendtextedit.c #include "qsendtextedit.h" QSendTextEdit::QSendTextEdit(QWidget *parent) : QPlainTextEdit(parent) { } void QSendTextEdit::mouseDoubleClickEvent(QMouseEvent *e) { if(e->type() == QEvent::MouseButtonDblClick) { appendPlainText("double click"); emit mouseDoubleClick(); } }
相关文章推荐
- qt事件学习
- 学习记录-Qt信号和槽使用遇到的问题记录
- 用ISO C++实现自己的信号槽(Qt另类学习)
- QT中窗口刷新事件的学习总结
- Python pyQt4/PyQt5 学习笔记4(事件和信号)
- PyQt4 学习笔记4之事件与信号
- 【Qt开发】Qt 捕捉窗口关闭事件与信号的捕捉
- QT中窗口刷新事件的学习总结
- Qt事件学习
- QT中的事件机制与信号-槽机制
- QT学习 信号与槽
- QT5 学习之路22---事件过滤器
- Qt4.7中,线程,信号,事件的一点理解
- PyQt4学习记录之事件和信号
- qt学习(二):信号和槽
- Qt学习之路_3(VS下Qt的信号与槽初次体验)
- Qt捕捉窗口关闭事件与信号的捕捉
- QT学习之事件处理(二) 处理密集响应时的响应保持
- QT 学习中遇到的问题~~~~常见的信号处理机制(on_browseButton_clicked()) (toLower) (separator()) (setText)
- QT学习1:信号槽+资源文件