QTableView增加QPushButton、QToolButton等控件以及实现点击事件

QTableView增加QPushButton、QToolButton等控件:

 

       QToolButton *EditBtn=new QToolButton();  
        EditBtn->setIcon(QIcon(":/Icon/edit.png"));
        EditBtn->setIconSize(QSize(15,15));
        EditBtn->setStyleSheet("background:transparent;border:0px;");
        EditBtn->setIcon(QIcon(":/Icon/edit.png"));//增加图片显示
        EditBtn->setObjectName(QString::number(UserList.at(i).Id));//关联QToolButton名字,方便点击事件具体到数据行
        ui->mainTable->setIndexWidget(model->index(1 , 4), EditBtn);
       connect(EditBtn , SIGNAL(clicked()) , this , SLOT(EditUser()));

 

点击事件:

 QToolButton *senderObj=qobject_cast<QToolButton*>(sender());
    if(senderObj == nullptr)
    {
        return;
    }
    QString name=senderObj->objectName();//得到名字
    //删除方法需要下面两行代码,因为需要刷新//QModelIndex idx =ui->mainTable->indexAt(QPoint(senderObj->frameGeometry().x(),senderObj->frameGeometry().y()));
    //int row=idx.row();

 

posted @ 2021-04-28 17:26  出门必戴双肩包  阅读(1976)  评论(0编辑  收藏  举报