#ifndef HLED_H
#define HLED_H
#include "ui_hled.h"
#include <QtUiPlugin/QDesignerExportWidget>
class QDESIGNER_WIDGET_EXPORT HLED : public
QWidget{
Q_OBJECT
public:
explicit HLED(QWidget *parent = 0);
signals:
clicked();
private:
Ui::HLED ui;
protected:
void mousePressEvent(QMouseEvent *event);
};
#endif // HLED_H
初学QT自定义控件,如上图3个 pushButton 组合的 自定义控件myLED,按下后发出信号;
void HLED::mousePressEvent(QMouseEvent *event)
{
this->setCursor(Qt::PointingHandCursor);
emit clicked();
}
将上面控件拖放到UI里,鼠标单击OFF按钮,
#include "mainwindow.h"
#include<hled.h>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
ui.setupUi(this);
connect(ui.myLED,SIGNAL(clicked()),this,SLOT(ledset()));
}
void MainWindow::ledset()
{
ui.MT->setText("emit ok");
}
以上只能获取空白区域蓝色线的单击信号,想获取OFF的单击信号,该怎么样编写,谢谢!