QT重写控件类,并在designer中拖动控件后使用
**
重写label类
**
相信大家在使用QT designer拖动控件的时候会发现控件十分的丑陋,那么如何让自己界面中的控件更加的美观呢?其实只要重写一个控件类,就可以完美的解决这个问题。
这里我们以继承原有的label类并重写为例子
- CRoundLabel::CRoundLabel(QWidget *parent):QLabel(parent)
在第一步的时候要继承原有的label类,之后才能够对新的类进行操作 - 重绘label,这里给它变成了圆形的形状,可以用作头像的控件或者其他
这是通过拖拽直接生成的label,虽然可以给它添加一个图片,但是最终的效果却也只能做到这样:
害,是不是方方正正,没有一点美感,那么重写了label之后会有什么样的效果呢?
没错,中间那个圆圆的就是我们修改好的label!!当然,这里也只是做了一部分修改,大佬们使用的时候可以根据自己的需要给控件重绘。接下来上代码,代码中还有一些鼠标点击前后的操作,这里就不一一细说了。
// .h文件
#ifndef ROUNDLABEL_H
#define ROUNDLABEL_H
#include <QLabel>
class CRoundLabel:public QLabel
{
Q_OBJECT
public:
CRoundLabel(QWidget* parent=0);
signals:
void sigClick();
protected:
void paintEvent(QPaintEvent *e);