void CShowInterpretWidget::setDataToTableView()
{
m_model = new QStandardItemModel();
ui.tableView->setModel(m_model);//这行代码要放在前面,也就是model进行操作之前,不然控件放不进表格
for (int i=0; i < m_nameList.size(); i++)
{
QStandardItem* t_item = new QStandardItem();
QWidget* t_checkWidget = new QWidget();
QHBoxLayout* t_hLayout = new QHBoxLayout;//使用布局是为了更好调整控件的位置
QCheckBox *t_checkBox = new QCheckBox(t_checkWidget);
t_checkBox->setChecked(true);
connect(t_checkBox, &QCheckBox::stateChanged, this, &CShowInterpretWidget::slotCheckBoxCtrl);//为QCheckBox连接槽函数
t_hLayout->addWidget(t_checkBox);
t_checkWidget->setLayout(t_hLayout);
m_model->setItem(i, 0, t_item);
ui.tableView->setIndexWidget(m_model->index(i,0),t_checkWidget);//这行代码就是将控件放进表格里面
m_model->setItem(i, 1, new QStandardItem(m_nameList.at(i)));
//model->item(i)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);//文字居中
}
ui.tableView->resizeColumnsToContents();//自动调节所有列宽
ui.tableView->horizontalHeader()->setStretchLastSection(true);//最后一列填满表格
ui.tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);//表格不可编辑
ui.tableView->setShowGrid(false);//去掉网格
}
QTableView里面添加控件(QcheckBox),并为控件(QcheckBox)添加槽函数
最新推荐文章于 2024-03-12 17:12:54 发布