QT 怎么获得tabelwidget中嵌入的combobox被点击时的行号?

如题
while(i {
QComboBox *combobox=new QCombobox();
combobox->addItem("1");
combobox->addItem("2");
ui->tabelwidget->setItem(i,j++,new QTabelWidgetItem(QString ID));
......
......
ui->tabelwidget->setItem(i,j++,new QTabelWidgetItem(combobox));
}
代码如上,怎样才能获取到combobox被点击时的当前行号,
菜比一枚,跪求指点,谢过!

3个回答

connect(combobox, SIGNAL(currentIndexChanged(int)), SLOT(slot_comboboxIndexChanged(int)));

void slot_comboboxIndexChanged(int index)
{
QComboBox senderComboBox = (QComboBox)sender();
for (int i = 0; i < ui->tablWidget>rowCount(); i++) {
QComboBox uiComboBox = (QComboBox)ui->tableWidget->cellWidget(i, 0);
if (senderComboBox == uiCOmboBox){
//得到senderComboBox的行号
}
}

blueany
无情猫 调用talbleWidget的currentRow()不可取,那是选中的row,点击comboBox是不会改变当前选中row的
3 年多之前 回复
blueany
无情猫 【*】怎么都不见了?
3 年多之前 回复

connect(combobox, SIGNAL(currentIndexChanged(int)), this, SIGNAL(OnCurrentIndexChanged(int)));

wafstudio
wafstudio 回复SadVSSmile:在combobox的单击事件响应函数中调用tablewidget的以下两个函数不知行不行,没试过:currentItem ()和row ( const QTableWidgetItem * item ) const
大约 5 年之前 回复
wafstudio
wafstudio 回复SadVSSmile:在combobox的单击事件响应函数中调用tablewidget的以下两个函数不知行不行,没试过:currentItem ()和row ( const QTableWidgetItem * item ) const
大约 5 年之前 回复
u010655288
SadVSSmile 很感谢,但是我需要的获取的是被点击的combobox所在的tabelwidget的行号,tabelwidget的行号!
大约 5 年之前 回复

connect(combobox, SIGNAL(currentIndexChanged(int)), this, SIGNAL(OnCurrentIndexChanged(int)));
然后在函数中直接调用tablewidget的currentRow()即可。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐