继承 了解思想 C++
来源:互联网 发布:sas软件多少钱 编辑:程序博客网 时间:2024/05/22 09:46
#ifndef MYBUTTON_H#define MYBUTTON_H#include <<span style="font-family: Arial, Helvetica, sans-serif;">QPushButton</span><span style="font-family: Arial, Helvetica, sans-serif;">></span>class MyButton : public QPushButton{ Q_OBJECTpublic: explicit MyButton(QWidget *parent = 0); MyButton(const QString& text, QWidget* parent = 0); QRect _rect; QString _text; bool _pressed; void mousePressEvent(QMouseEvent *); void mouseReleaseEvent(QMouseEvent *); void paintEvent(QPaintEvent *);signals: void clicked();public slots:};#endif // MYBUTTON_H
#include "MyButton.h"#include <QPainter>#include <QMouseEvent>MyButton::MyButton(QWidget *parent) : QWidget(parent), _rect(0, 0, size().widht, size().height), _text(QString()){ _pressed = false;
}MyButton::MyButton(const QString &text, QWidget *parent): QWidget(parent), _text(text), _rect(0, 0, 100, 30){ _pressed = false; this->setGeometry(_rect);}void MyButton::mousePressEvent(QMouseEvent *){ _pressed = true; update();}void MyButton::mouseReleaseEvent(QMouseEvent *ev){ _pressed = false; update(); if(_rect.contains(ev->pos())) emit clicked(); // callback handler}void MyButton::paintEvent(QPaintEvent *){ QPainter p(this); if(_pressed) p.setBrush(Qt::yellow); else p.setBrush(Qt::darkGray); p.drawRect(_rect); p.drawText(_rect, _text, QTextOption(Qt::AlignCenter));}
完毕
学无止尽 只能学个思想先 后续看需要学习
0 0
- 继承 了解思想 C++
- 【C++】继承的简单了解!!!
- 了解继承
- 了解继承
- 了解程序员-软件工程思想
- 窗体继承思想
- java编程思想--继承
- JS继承机制思想
- 深入的了解继承
- 深入了解C++继承
- C语言面向对象的封装、继承和多态的思想
- C语言面向对象的思想(实现继承和多态)
- C语言实现面向对象的思想(实现封装、继承和多态)
- Javascript的原型继承思想
- 面向对象编程思想--继承
- OOP思想:封装、继承、多态
- Android中Activity继承思想
- java编程思想-继承心得
- 新的开始
- hdu1285(邻接矩阵写拓扑排序)
- 空谷幽兰美男子~~~
- java中重载与重写的区别
- android 开源库之图片加载-Universal-Imageoader和Picasso的使用和比较
- 继承 了解思想 C++
- moment.js的汉化显示
- 【JZOJ 1919】happiness
- e.pageX,e.clientX.e.screenX.offsetLeft,scrollTop事件的区别
- Git Windows下配置Merge工具DiffMerge
- 分享一个非常实用的PHP框架--oFrame
- 使用mybatis操作mysql数据库SUM方法返回NULL解决
- Node.js Web模块
- codeforces680C