QT学习记录(一)事件 (event)
来源:互联网 发布:linux 进程状态日志 编辑:程序博客网 时间:2024/05/29 12:38
<pre name="code" class="cpp"><pre name="code" class="cpp">// QT5!!/******custombutton.h************/#ifndef CUSTOMBUTTON#define CUSTOMBUTTON#include <QPushButton>#include <QMouseEvent>class CustomButton : public QPushButton{ Q_OBJECTpublic: CustomButton(QWidget *parent = 0);protected: void mousePressEvent(QMouseEvent *event);private: void onButtonCliecked();};#endif // CUSTOMBUTTON/******custombutton.cpp*********/#include "custombutton.h"#include <QDebug>CustomButton::CustomButton(QWidget *parent): QPushButton(parent){ connect(this, &CustomButton::clicked, this, &CustomButton::onButtonCliecked);}void CustomButton::onButtonCliecked(){ qDebug() << "You clicked this!";}//构造函数中的connect(信号槽)操作将//鼠标点击这个 信号(CustomButton::clicked)(插头)//和 私有函数onButtonCliecked(插槽)连接在一起//但在重载过mousePressEvent后,上述插槽的响应不复存在//从该函数覆盖掉上面的“you clicked this”,可以推断出这个函数//本身发出了clicked()信号void CustomButton::mousePressEvent(QMouseEvent *event){ if(event->button() == Qt::LeftButton) qDebug() << "Left"; else QPushButton::mousePressEvent(event);}/*********main.cpp********************/#include "mainwindow.h"#include <QApplication>#include "custombutton.h"int main(int argc, char *argv[]){ QApplication a(argc, argv); CustomButton btn; btn.setText("This is a button"); btn.show(); return a.exec();}收获:1.基类的虚函数,派生类可以不重新定义,但是一旦派生类声明该函数,就必须给予实现方式,否则程序报错!比如该程序中的mousePressEvent继承自QPushButton。
0 0
- QT学习记录(一)事件 (event)
- libevent源码学习(一)event事件
- Qt学习之路(19): 事件(event)
- Qt学习之路(19): 事件(event)
- Qt学习之路(19): 事件(event)
- Qt学习之路(19): 事件(event)
- Qt学习之路(19): 事件(event)
- Qt学习之路(19): 事件(event)
- Qt学习之路(19): 事件(event)
- Qt学习之路(19): 事件(event)
- QT学习记录一
- 第七章 Qt事件(event)处理
- QT Event事件收集
- QT event事件过滤器
- QT学习点滴记录(一)
- Qt记录(一)
- QT之GUI学习笔记(十四) -----事件(event)
- 事件(event)设计准则(一)
- 如何使用Dreamweaver CS6编写PHP程序,如何使用DW创建PHP站点
- [Raspbian]RaspberryPi重刷Raspbian系统
- Java实现员工管理系统(数据库存储版)
- SQL Cursor 基本用法
- ios 应用实现快速的临时缓存之模型的自动归档
- QT学习记录(一)事件 (event)
- Android下滑条ScrollView
- jdk jre 介绍
- 如何查看url的IP地址,以及IP地址所属区域
- 设计模式之观察者模式
- 项目练习--js操作删除DIV层中的子节点
- 有关spring的知识-----bean的实例化方法
- 十个最值得阅读学习的C开源项目代码
- Android HttpPost表单访问接口