QTableWidget設定網格線粗細 單元格中新增控制元件並居中
阿新 • • 發佈:2019-01-22
通過網上搜集資料整理,方便自己和他人以後查閱
tableWidget =newQTableWidget(3,2);
tableWidget->setStyleSheet("QTableWidget::item{border:1pxsolid;}");
//
//表格表頭的顯示與隱藏
tableWidget->verticalHeader()->setVisible(false);//隱藏列表頭
tableWidget->horizontalHeader()->setVisible(false);//隱藏行表頭
//tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
//設定行高
for(inti=0;i<tableWidget->rowCount();i++)
{
tableWidget->setRowHeight(i,60);
}
//設定列寬
for(inti=0;i<tableWidget->columnCount();i++)
{
tableWidget->setColumnWidth(i,185);
}
//單元格中新增控制元件並居中
QLabel*label=newQLabel("gender");
QComboBox*comBox=newQComboBox();
comBox->setFixedSize(100,25);
comBox->addItem("F");
comBox->addItem("M");
//單元格中的控制元件需要通過佈局管理
QWidget*widget=newQWidget;
QHBoxLayout*hLayout;
hLayout=newQHBoxLayout();
hLayout->addWidget(label);
hLayout->addWidget(comBox);
hLayout->setMargin(0);
hLayout->setAlignment(widget,Qt::AlignCenter);
hLayout->setContentsMargins(10,0,20,0);
widget->setLayout(hLayout);
//新增單元格
tableWidget->setCellWidget(0,0,widget);
QHBoxLayout*mainLayout=newQHBoxLayout;
mainLayout->addWidget(tableWidget);
setLayout(mainLayout);