qtablewidget加入QcomboBox控件如何读取内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qtablewidget加入QcomboBox控件如何读取内容相关的知识,希望对你有一定的参考价值。

我在QTableWidget的单元格里添加了QComboBox控件,QComboBox里的内容是自己添加进去的,我用什么方法可以获得QComboBox里的内容?高手指点一下,查了很多没有一个能实现的;

参考技术A QWidget * widget=ui->tableWidget->cellWidget(i,0);//获得widget
QComboBox *combox=(QComboBox*)widget;//强制转化为QComboBox
QString string=combox->currentText();
qDebug()<<string;追问

非常感谢,方法不错;

追答

不用客气,能帮到你很荣幸。

本回答被提问者采纳
参考技术B 用QComboBox的getCurrentText(或getCurrentIndex)属性追问

我的QComboBox是放在QTableWidget里的,我必须从QTableWidget里读,比如ui->tableWidget->item(0, 0)->data(Qt::DisplayRole).toString();这是读取单元格里的内容,我要读QComboBox里的内容;

追答

你用什么函数把QComboBox放进单元格的?
如果放进单元格的是QComboBox,那么从单元格中读出的就是QComboBox。

追问

我是这样把QComboBox放在QTableWidget里的,代码如下:
QComboBox *pComboBox = new QComboBox();
pComboBox->addItem("a");
pComboBox->addItem("b");
ui->tableWidget->setCellWidget(i, 1, pComboBox );这样QComboBox里就被放置了“a”和“b”;
我要怎么才能获取到a或者b;

追答

tableWidget->setCellWidget(row,col,combobox); combobox->setCurrentIndex(0);
connect(combobox, SIGNAL(currentIndexChanged(int)),this, SLOT(changed(int)));

changed(int index) 槽函数

QComboBox* combo=(QComboBox*)table->cellWidget(_row,_col);
combo->currentIndex();

追问

非常感谢,但是最后的我还是没弄出来,不过现在弄好了,其他人的方法,
QWidget * widget=ui->tableWidget->cellWidget(i,0);//获得widget
QComboBox *combox=(QComboBox*)widget;//强制转化为QComboBox
QString string=combox->currentText();
qDebug()<<string;

以上是关于qtablewidget加入QcomboBox控件如何读取内容的主要内容,如果未能解决你的问题,请参考以下文章

如何从 QComboBox 中获取所选项目以显示在 PyQt5 的 QTableWidget 中? (QComboBox 有复选框来选择项目)

如何在一个QTableWidget对象中将某一列单元格设置成QComboBox

QTableWidget 能不能在一个单元格内加入多个控件?

将Qcombobox的Qsettings写入文件而不关闭Widget

关于QT的系统总结

7.5 QComboBox下拉框控件