给Qt的控件添加新信号
来源:互联网 发布:手机录像软件 编辑:程序博客网 时间:2024/05/01 05:23
Qt的控件有时候并不提供我们想要的信号
已QLineEdit为例,它并没有提供鼠标点击的信号,此时就需要我们自己添加
方法如下:
mylineedit.h
#ifndef MYLINEEDIT_H#define MYLINEEDIT_H#include <QLineEdit>#include <QMouseEvent>class MyLineEdit : public QLineEdit{ Q_OBJECTpublic: explicit MyLineEdit(QWidget *parent = 0); protected: virtual void mousePressEvent(QMouseEvent *event);signals: void LineEditClicked(); public slots: };#endif // MYLINEEDIT_H
mylineedit.cpp
#include "mylineedit.h"MyLineEdit::MyLineEdit(QWidget *parent) : QLineEdit(parent){}void MyLineEdit::mousePressEvent(QMouseEvent *event){ if (event->button() == Qt::LeftButton) { emit LineEditClicked(); } QLineEdit::mousePressEvent(event);}
这时MyLineEdit就是一个已经有了鼠标点击信号的QLineEdit,我们只需要向其他信号一样使用它就可以了
- 给Qt的控件添加新信号
- Unity3D 给NGUI自带的控件添加新属性
- 给webview添加自己的信号
- VS2005 winform用户控件(三):给控件添加新的属性
- 给Qt中添加新字体(windows中的字体)
- Qt 给主窗口添加背景但不覆盖控件
- 给虚机添加新的磁盘分区
- 给XML文件添加新的节点
- 给Linux添加新的磁盘
- FMDB给表添加新的字段
- 如何给MT8127添加新的分区
- 给nginx 添加新的编译模块
- 如何给caffe添加新的层
- SpringAOP给类添加新的功能
- QT给我们的窗口添加背景图片
- 给QT程序的EXE添加图标
- 给信号添加高斯白噪声
- Qt 5中信号和槽的新语法
- 在一个字符串中寻找到最长重复子串(1)
- 苹果公司申请新专利 聚合USB接口和SD卡槽
- nginx报502、504、400、413错误
- 产品经理应具备的素质
- 举例说明android源代码调试中加入的log方法
- 给Qt的控件添加新信号
- 五段动词为什么叫五段动词,一段动词为什么叫一段动词
- 史上最完整的iOS DIY framework 详细教程
- experiment : add menu item to IDA on idapython
- 如何使用ssh-keygen生成key
- 学习OutputStreamWriter
- 【图论05】并查集 1003 Is It A Tree?
- Linux中环境变量到底写在哪个文件中?解析login shell 和 no-login shell
- RTMP协议详解(转) ----- 这方面的资料太少了