回复: 在tablewidget中添加button之后怎么去获取信号
#6 回 firebolt 的帖子 [skylly_king 02-27 10:51]
firebolt:连接信号槽不解释了。
随便说一下啊。
1、笨办法1
每一行保存一个button的指针,然后在slot里遍历每一行的button是否等于sender。
2、笨办法2
....... (2017-02-26 23:00)
ui->tableWidget->setCellWidget(0,7,new QPushButton("test"));
connect(ui->tableWidget, SIGNAL(cellChanged(int,int)), this, SLOT(tableWidget_checkBox(int, int)));
// connect(((QPushButton*)this->sender())->whatsThis(), SIGNAL(cellClicked(int,int)), this, SLOT(tableWidget_button(int, int)));
//connect(ui->tableWidget, SIGNAL(itemClicked(QTableWidgetItem*)), this, SLOT(tableWidget_button(QTableWidgetItem*)));
connect(ui->tableWidget, SIGNAL(cellPressed(int,int)), this, SLOT(tableWidget_button(int, int)));
#7 回 skylly_king 的帖子 [kimtaikee 02-27 11:42]
skylly_king:ui->tableWidget->setCellWidget(0,7,new QPushButton("test"));
connect(ui->tableWidget, SIGNAL(cellChanged(int,int)), this, SLOT(tableWidget_checkBox(int, int)));
// connect(((QPushButton*)this->sender())->whatsThis(), SIGN .. (2017-02-27 10:51)
QPushButton* button = new QPushButton("test", this);
ui->tableWidget->setCellWidget(0, 7, button);
connect(button, &QAbstractButton::click, [] () {
qDebug()
#8 [firebolt 02-27 11:53]
7楼正解。