[英]Qt: get text from button in QTableWidget
我的Qt应用程序中有QTableWidget,我向它添加了按钮,如下所示:
QPushButton *startButton = new QPushButton("start");
ui->tableWidget_tvConnection->setCellWidget(row, col, startButton);
connect(startButton, SIGNAL(clicked()), this, SLOT(startButtonPressed()));
当按下它时,我需要从中获取文本,因此我尝试了以下操作:
void MainWindow::startButtonPressed()
{
...
QPushButton *button = ui->tableWidget_tvConnection->cellWidget(row, col);
qDebug() << button->text();
}
但是编译器不允许我从QWidget *转换为QPushButton *:
error: invalid conversion from 'QWidget*' to 'QPushButton*' [-fpermissive]
那么,甚至有可能从QTableWidget中的按钮获取文本吗? 如果不是这样,我还有另一种方法可以在我的应用程序中处理此问题,但这确实很棒。
您将获得QWidget
,因此应将其QPushButton
为QPushButton
。 之后,您将可以将此pushbutton
用作普通pushbutton
。 尝试这个:
QPushButton *button = qobject_cast<QPushButton *>(ui->tableWidget_tvConnection->cellWidget(row, col));
if(button) {
//success
} else {
//bad
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.