目录
效果:
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 字符过长 省略显示
https://blog.csdn.net/q610098308/article/details/134446165
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);