目录
效果:
1.列宽、行高自动分配
2.固定值
3.随内容分配列宽 随内容分配行高
4.水平方向标签拓展剩下的窗口部分,填满表格
5.列宽是自动分配的,但是第一列可手动调整宽度,而表格整体的列宽仍是自动分配的。第二、三列办法调整列宽,自动分配的
6.手动 自定义列宽
7. 其实也可以设置宽度比例
8. QTableWidgetItem QLable 字符过长 省略显示
9.隐藏 默认显示行头
10.设置选中时为整行选中
12. 显示QTableWidget组件中的线
13.去除选中虚线框
14.设置非单元滚动
15.隔行交替背景色
16.QTableWidget类中的常用方法
17.编辑规则的枚举值类型
18.表格选择行为的枚举值
19.单元格文本水平对齐方式
20. 单元格文本垂直对齐方式
注意:
效果:
1.列宽、行高自动分配
//列宽自动分配
tableWidget.horizontalHeader().sectionResizeMode(QHeaderView::Stretch)
//行高自动分配
tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch)
2.固定值
tableWidget.horizontalHeader().SectionResizeMode(QHeaderView::Fixed)
3.随内容分配列宽 随内容分配行高
tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch)
tableWidget.verticalHeader().SectionResizeMode(0, QHeaderView::ResizeToContents)
tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch)
tableWidget.verticalHeader().SectionResizeMode(0, QHeaderView::ResizeToContents)
4.水平方向标签拓展剩下的窗口部分,填满表格
tableWidget.horizontalHeader().setStretchLastSection(true)
5.列宽是自动分配的,但是第一列可手动调整宽度,而表格整体的列宽仍是自动分配的。第二、三列办法调整列宽,自动分配的
tableWidget.horizontalHeader().SectionResizeMode(QHeaderView::Stretch)
tableWidget.horizontalHeader().SectionResizeMode(0, QHeaderView::Interactive)
6.手动 自定义列宽
tableWidget->setColumnWidth(0, 200);
tableWidget->setColumnWidth(1, 200);
tableWidget->setColumnWidth(2, 150);
tableWidget->setColumnWidth(3, 120);
tableWidget->setColumnWidth(4, 150);
7. 其实也可以设置宽度比例
int width = m_Controls.tableWidget->width();
m_Controls.tableWidget->setColumnWidth(0, width/5);
m_Controls.tableWidget->setColumnWidth(1, width/5*2);
m_Controls.tableWidget->setColumnWidth(2, width/5 );
m_Controls.tableWidget->setColumnWidth(3, width/5);
8. QTableWidgetItem QLable 字符过长 省略显示
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.设置非单元滚动
tableWidget->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
15.隔行交替背景色
tableWidget->setAlternatingRowColors(true)
16.QTableWidget类中的常用方法
方法 |
描述 |
setROwCount(int row) |
设置QTableWidget表格控件的行数 |
setColumnCount(int col) |
设置QTableWidget表格控件的列数 |
setHorizontalHeaderLabels() |
设置QTableWidget表格控件的水平标签 |
setVerticalHeaderLabels() |
设置QTableWidget表格控件的垂直标签 |
setItem(int ,int ,QTableWidgetItem) |
在QTableWidget表格控件的每个选项的单元控件内添加控件 |
horizontalHeader() |
获得QTableWidget表格控件的表格头,以便执行隐藏 |
rowCount() |
获得QTableWidget表格控件的行数 |
columnCount() |
获得QTableWidget表格控件的列数 |
setEditTriggers(EditTriggers triggers) |
设置表格是否可以编辑,设置表格的枚举值 |
setSelectionBehavior |
设置表格的选择行为 |
setTextAlignment() |
设置单元格内文本的对齐方式 |
setSpan(int row,int column,int rowSpanCount,int columnSpanCount) |
合并单元格,要改变单元格的第row行,column列,要合并rowSpancount行数和columnSpanCount列数 |
row:要改变的行数 |
|
column:要改变的列数 |
|
rowSpanCount:需要合并的行数 |
|
columnSpanCount:需要合并的列数 |
|
setShowGrid() |
在默认情况下表格的显示是有网格的,可以设置True或False用于是否显示,默认True |
setColumnWidth(int column,int width) |
设置单元格行的宽度 |
setRowHeight(int row,int height) |
设置单元格列的高度 |
17.编辑规则的枚举值类型
选项 |
值 |
描述 |
QAbstractItemView.NoEditTriggers0No |
0 |
不能对表格内容进行修改 |
QAbstractItemView.CurrentChanged1Editing |
1 |
任何时候都能对单元格进行修改 |
QAbstractItemView.DoubleClicked2Editing |
2 |
双击单元格 |
QAbstractItemView.SelectedClicked4Editing |
4 |
单击已经选中的内容 |
QAbstractItemView.EditKeyPressed8Editing |
8 |
当修改键按下时修改单元格 |
QAbstractItemView.AnyKeyPressed16Editing |
16 |
按任意键修改单元格 |
QAbstractItemView.AllEditTriggers31Editing |
31 |
包括以上所有条件 |
18.表格选择行为的枚举值
选择 |
值 |
描述 |
QAbstractItemView.SelectItems0Selecting |
0 |
选中单个单元格 |
QAbstractItemView.SelectRows1Selecting |
1 |
选中一行 |
QAbstractItemView.SelectColumns2Selecting |
2 |
选中一列 |
19.单元格文本水平对齐方式
选项 |
描述 |
Qt.AlignLeft |
将单元格内的内容沿单元格的左边缘对齐 |
Qt.AlignRight |
将单元格内的内容沿单元格的右边缘对齐 |
Qt.AlignHCenter |
在可用空间中,居中显示在水平方向上 |
Qt.AlignJustify |
将文本在可用空间内对齐,默认从左到右 |
20. 单元格文本垂直对齐方式
选项 |
描述 |
Qt.AlignTop |
与顶部对齐 |
Qt.AlignBottom |
与底部对齐 |
Qt.AlignVCenter |
在可用空间中,居中显示在垂直方向上 |
Qt.AlignBaseline |
与基线对齐 |
如果要设置水平和垂直方向对齐方式,比如在表格空间内上下,左右居中对齐,那么只要使用Qt,AlignHCenter和Qt,AlignVCenter即可
注意:
如数据也需要设置列数,否则可能不显示;
tableWidget->setColumnCount(10);