ylww

随笔仅作学习记录,请辩证参考!!!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

实质:在点击标签的时候发射一个点击信号

1.设置一个类继承QLabel(重写鼠标点击事件,增加一个信号):

 1 class: QClickLabel:public QLabel{
 2         Q_OBJECT
 3 public:
 4         QClickLabel(QWidget *parent);         
 5         ~QClickLabel();
 6      
 7 protected:
 8         void mousePressEvent(QMouseEvent* event){
         if(event->button() == Qt::LeftButton)
           emit clicked();
       }
9 10 signals: 11 void clicked(); 12 13 }

2.使用此标签(以在for循环中为例:)

for(int row=0; row<3; row++){
    for(int column=0; column<4; column++){
         QClickLabel  *label  = new QClickLabel(this);
         label->setCursor(Qt::PointingHandCursor);  //设置光标的形象(手形象)
         connect(label,&QClickLabel::clicked,[row,column](){
                  XXXX;
        });
    }  
}                

 

posted on 2023-07-08 16:29  理想主义者光芒万丈  阅读(21)  评论(0编辑  收藏  举报