效果:
1.列寬、行高自動分配
1 //列寬自動分配
2 tableWidget.horizontalHeader().sectionResizeMode(QHeaderView::Stretch)
3 //行高自動分配
4 tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch)
2.固定值
tableWidget.horizontalHeader().SectionResizeMode(QHeaderView::Fixed)
3.隨內容分配列寬 隨內容分配行高
1 tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch)
2 tableWidget.verticalHeader().SectionResizeMode(0, QHeaderView::ResizeToContents)
3
4 tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch)
5 tableWidget.verticalHeader().SectionResizeMode(0, QHeaderView::ResizeToContents)
4.水平方向標籤擴充剩下的視窗部分,填滿表格
tableWidget.horizontalHeader().setStretchLastSection(true)
5.列寬是自動分配的,但是第一列可手動調整寬度,而表格整體的列寬仍是自動分配的。第二、三列辦法調整列寬,自動分配的
1 tableWidget.horizontalHeader().SectionResizeMode(QHeaderView::Stretch)
2 tableWidget.horizontalHeader().SectionResizeMode(0, QHeaderView::Interactive)
6.手動 自定義列寬
1 tableWidget->setColumnWidth(0, 200);
2 tableWidget->setColumnWidth(1, 200);
3 tableWidget->setColumnWidth(2, 150);
4 tableWidget->setColumnWidth(3, 120);
5 tableWidget->setColumnWidth(4, 150);
7. 其實也可以設定寬度比例
1 int width = m_Controls.tableWidget->width();
2 m_Controls.tableWidget->setColumnWidth(0, width/5);
3 m_Controls.tableWidget->setColumnWidth(1, width/5*2);
4 m_Controls.tableWidget->setColumnWidth(2, width/5 );
5 m_Controls.tableWidget->setColumnWidth(3, width/5);
9.隱藏 預設顯示行頭
tableWidget->verticalHeader()->setVisible(false)
10.設定選中時為整行選中
tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
12. 顯示QTableWidget元件中的線
tableWidget->setShowGrid(true);
13.去除選中虛線框
tableWidget->setFocusPolicy(Qt::NoFocus);
14.設定非單元滾動
1 tableWidget->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
2
3 tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
15.隔行交替背景色
tableWidget->setAlternatingRowColors(true)
16.QTableWidget類中的常用方法
17.編輯規則的列舉值型別
18.表格選擇行為的列舉值
19.單元格文字水平對齊方式
20. 單元格文字垂直對齊方式
如果要設定水平和垂直方向對齊方式,比如在表格空間內上下,左右居中對齊,那麼只要使用Qt,AlignHCenter和Qt,AlignVCenter即可
注意:
如資料也需要設定列數,否則可能不顯示;
tableWidget->setColumnCount(10);