16,216
社区成员
发帖
与我相关
我的任务
分享
#include <QLabel>
#include <QWidget>
#include <QMessageBox>
#include <QApplication>
class ClickedLabel : public QLabel
{
Q_OBJECT
signals:
void Clicked(ClickedLabel* clicked);
public:
ClickedLabel(const QString &text,QWidget *parent=0): QLabel(text,parent){ };
~ClickedLabel() {};
protected:
void mouseReleaseEvent( QMouseEvent* ){emit Clicked(this);};
void keyReleaseEvent ( QKeyEvent * event ){emit Clicked(this);};
public slots:
void OnCLicked( ClickedLabel* ) {QMessageBox::information(topLevelWidget(), "Message from Qt", "Label Clicked!"); };
};
#include "test.moc"
int main(int argc,char* argv[])
{
QApplication app(argc,argv);
ClickedLabel label("<h2>test</h2>");
label.resize(100,30);
QObject::connect( &label, SIGNAL( Clicked(ClickedLabel*) ),&label, SLOT( OnCLicked(ClickedLabel*) ) ) ;
label.show();
return app.exec();
}