16,815
社区成员




#include <QWidget>
#include <QLabel>
#include <QVector>
#include "applabel.h"
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
explicit Widget(qint32 label_amount, QWidget *parent = 0);
~Widget();
public:
void addWidget(AppLabel *label);
void rePlace();
bool event(QEvent *);
void mousePressEvent(QMouseEvent *);
private:
qint32 _lbl_amount;
qint32 _lbl_bottom_Single_width;
QVector<AppLabel *> _labels;
};
#endif // WIDGET_H
#ifndef APPBUTTON_H
#define APPBUTTON_H
#include <QWidget>
#include <QLabel>
class AppLabel : public QWidget
{
Q_OBJECT
public:
explicit AppLabel(QWidget *parent = 0);
explicit AppLabel(QString text, QWidget *parent = 0);
private:
QLabel *_label;//main object.
public:
bool event(QEvent *);
void mousePressEvent(QMouseEvent *);
void mouseReleaseEvent(QMouseEvent *);
signals:
public slots:
};
#endif // APPBUTTON_H
void Widget::addWidget(AppLabel *label)
{
++this->_lbl_amount;
this->_lbl_bottom_Single_width = this->width() / this->_lbl_amount;
label->setParent(this);
_labels.push_back(label);
label->setAlignment(Qt::AlignVCenter|Qt::AlignHCenter);
label->setFrameStyle(QFrame::Panel | QFrame::Sunken);
QString style("background-color:#DFDDDE;");
//connect(label, SIGNAL(clicked()), this, SLOT());
label->setStyleSheet(style);
this->rePlace();
}