Mr.Stone^_^
2015-07-30 02:07
采纳率: 44%
浏览 5.8k
已采纳

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条回答 默认 最新

  • 无情猫 2017-07-21 00:17
    已采纳

    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的行号
    }
    }

    已采纳该答案
    评论
    解决 1 无用
    打赏 举报
  • wafstudio 2015-08-01 06:34

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

    评论
    解决 无用
    打赏 举报
  • wafstudio 2015-08-05 02:57

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题