在Qt 4.7中,你可以通过使用信号和槽机制来实现点击QTableWidget所在行的按钮时显示所在行的数据。下面是一个简单的示例代码:
首先,确保已经创建了一个QTableWidget并添加了按钮到每一行。然后,连接每个按钮的clicked信号到一个自定义的槽函数上。在槽函数中,你可以获取被点击按钮所在的行索引,并根据索引获取该行的数据。
// 创建表格和按钮
QTableWidget *tableWidget = new QTableWidget(this);
tableWidget->setRowCount(3);
tableWidget->setColumnCount(2);
for (int row = 0; row < tableWidget->rowCount(); ++row) {
QTableWidgetItem *item1 = new QTableWidgetItem(QString("Item %1").arg(row));
QPushButton *button = new QPushButton("Show Data");
connect(button, &QPushButton::clicked, this, [row, tableWidget]() {
QString data = tableWidget->item(row, 0)->text(); // 获取第一列数据
QMessageBox::information(nullptr, "Data", data); // 显示数据
});
tableWidget->setItem(row, 0, item1);
tableWidget->setCellWidget(row, 1, button);
}
// ...
这样,当你点击某一行的按钮时,会弹出一个对话框显示该行第一列的数据。你可以根据需要修改具体的逻辑以及展示方式。
内容由零声教学AI助手提供,问题来源于学员提问