Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 如何在tablewidget中获取组合框的文本?_Qt - Fatal编程技术网

Qt 如何在tablewidget中获取组合框的文本?

Qt 如何在tablewidget中获取组合框的文本?,qt,Qt,我是Qt新手,需要帮助获取表小部件中combobox的值 我使用“setCellWidget”向表格小部件(名称为“tableWidget_4”)添加组合框(在我的示例中,其名称为“settingA”): 我想在这里做的是: 单击按钮(在我的示例中,其名称为“ApplyComboButton”)时,我希望组合框(设置a)的值可以保存到QStringList(InputComboData)中,我就是这样尝试的: void主窗口::在\u ApplyComboButton\u单击() { QS

我是Qt新手,需要帮助获取表小部件中combobox的值

我使用“setCellWidget”向表格小部件(名称为“tableWidget_4”)添加组合框(在我的示例中,其名称为“settingA”):



我想在这里做的是: 单击按钮(在我的示例中,其名称为“ApplyComboButton”)时,我希望组合框(设置a)的值可以保存到QStringList(InputComboData)中,我就是这样尝试的:


void主窗口::在\u ApplyComboButton\u单击()
{
QStringList输入数据;
InputComboData tableWidget_4->item(0,0)->text();
}  
但它失败了。 如何获取组合框的值?

使用QTableWidget将QWidget*获取到设置为cellWidget的小部件(不要忘记使用qobject\u cast或dynamic\u cast将指针投射到QCombobox*)

您可以使用该函数获取QCombobox小部件。使用qobject_cast将其转换为QComboBox,并使用函数获取文本

QComboBox *myCB = qobject_cast<QComboBox*>(ui->tableWidget_4->cellWidget(0,0));
InputComboData << myCB->currentText();
QComboBox*myCB=qobject\u cast(ui->tableWidget\u 4->cellWidget(0,0));
InputComboData currentText();

您让这变得简单易懂!非常感谢。
void MainWindow::on_ApplyComboButton_clicked()
{
 QStringList InputComboData;

 InputComboData << ui->tableWidget_4->item(0,0)->text();

}  
QComboBox *myCB = qobject_cast<QComboBox*>(ui->tableWidget_4->cellWidget(0,0));
InputComboData << myCB->currentText();