QTableWidget是QT程序中常用的显示数据表格的空间,里面不仅仅可以添加文字,也可以添加控件,图片等等,此处以添加QCombobox和QPushButton举例,点击选择控件以后,可以获得哪一行哪一列的信息。
主要是以下几行代码:
//创建一个QComboBox控件
QComboBox *comBox_ = new QComboBox();
//设置QComboBox的item
comBox_->addItem("A");
comBox_->addItem("B");
comBox_->addItem("C");
//建立信号槽
connect(comBox_, SIGNAL(currentIndexChanged(QString)), this,SLOT(clickCombobox(QString)));
//将QComboBox控件设置到QTableWidget中
ui->tableWidget->setCellWidget(0, 0 ,comBox_);
//槽函数
void MyTableWidget::clickCombobox(QString text)
{
QComboBox *comBox_ = dynamic_cast<QComboBox*>(this->sender());
if(NULL == comBox_)
{
return;
}
int x = comBox_->frameGeometry().x();
int y = comBox_->frameGeometry().y();
QModelIndex index = ui->tableWidget->indexAt(QPoint(x, y));
int row = ind