12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #include "cpushbuttontime.h"
- #include "ui_cpushbuttontime.h"
- CPushButtonTime::CPushButtonTime(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::CPushButtonTime)
- {
- ui->setupUi(this);
- /* 注册事件过滤器 */
- ui->label_icon->installEventFilter(this);
- ui->label_text->installEventFilter(this);
- }
- CPushButtonTime::~CPushButtonTime()
- {
- delete ui;
- }
- /* 设置文本 */
- void CPushButtonTime::setText(const QString &text)
- {
- ui->label_text->setText(text);
- }
- /* 获取文本 */
- QString CPushButtonTime::getText() const
- {
- return ui->label_text->text();
- }
- /* 设置图标 */
- void CPushButtonTime::setIcon(const QImage &icon)
- {
- if(icon.isNull())
- {
- ui->label_icon->clear();
- return;
- }
- QPixmap pixmap = QPixmap::fromImage(icon);
- ui->label_icon->setPixmap(pixmap);
- }
- /* 事件过滤器 */
- bool CPushButtonTime::eventFilter(QObject *watched, QEvent *event)
- {
- if(event->type() == QEvent::MouseButtonPress)
- {
- /* 按钮被点击 */
- emit signal_buttonClicked();
- return true; // 事件已处理
- }
- return QWidget::eventFilter(watched, event); // 继续传递事件
- }
|