繁体   English   中英

Qt:从QTableWidget中的按钮获取文本

[英]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 ,因此应将其QPushButtonQPushButton 之后,您将可以将此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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM