要实现一个QTableWidget内部填充项为控件时,可采用setcellWidget方法进行填充。动态添加的代码如下:
m_rowCount = m_table->rowCount();//确定当前行数
m_table->insertRow(m_rowCount);//动态插入当前行,要使用insertRow插入一行,而不是使用setRow插入行,这样会导致实际没有插入该行,获取后续控件指针为空
m_table->setCellWidget(m_rowCount, 0, new QComboBox());//插入控件
QComboBox* cmbTopic = dynamic_cast<QComboBox*>(m_table->cellWidget(m_rowCount, 0));//获取插入的控件
cmbTopic->addItems(m_strListTopic);
插入完成的如下图
在选择另一个数据结构时,对应的主数据结构名需要进行相应的增删变化,如图所示。
然而问题来了,如何实现“数据结构”的那一列和“主数据结构名”的那一列实现梦幻联动呢(在选择“数据结构”列的相关选项之后,“主数据结构列”的数据也会相应的发生变化)?
解决方法为在需要选中的控件上触发信号函数,在相应的槽函数中获取目前为止的点的坐标,根据坐标获取table中的行数,问题得以解决,具体代码如下。
m_table-&g