目录
5.列宽是自动分配的,但是第一列可手动调整宽度,而表格整体的列宽仍是自动分配的。第二、三列办法调整列宽,自动分配的
8. QTableWidgetItem QLable 字符过长 省略显示

- //列宽自动分配
- tableWidget.horizontalHeader().sectionResizeMode(QHeaderView::Stretch)
- //行高自动分配
- tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch)
tableWidget.horizontalHeader().SectionResizeMode(QHeaderView::Fixed)
- tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch)
- tableWidget.verticalHeader().SectionResizeMode(0, QHeaderView::ResizeToContents)
-
- tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch)
- tableWidget.verticalHeader().SectionResizeMode(0, QHeaderView::ResizeToContents)
tableWidget.horizontalHeader().setStretchLastSection(true)
- tableWidget.horizontalHeader().SectionResizeMode(QHeaderView::Stretch)
- tableWidget.horizontalHeader().SectionResizeMode(0, QHeaderView::Interactive)
- tableWidget->setColumnWidth(0, 200);
- tableWidget->setColumnWidth(1, 200);
- tableWidget->setColumnWidth(2, 150);
- tableWidget->setColumnWidth(3, 120);
- tableWidget->setColumnWidth(4, 150);
- 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);
https://blog.csdn.net/q610098308/article/details/134446165
tableWidget->verticalHeader()->setVisible(false)
tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
tableWidget->setShowGrid(true);
tableWidget->setFocusPolicy(Qt::NoFocus);
- tableWidget->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
-
- tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
tableWidget->setAlternatingRowColors(true)
| 方法 | 描述 |
|---|---|
| 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) | 设置单元格列的高度 |
| 选项 | 值 | 描述 |
|---|---|---|
| QAbstractItemView.NoEditTriggers0No | 0 | 不能对表格内容进行修改 |
| QAbstractItemView.CurrentChanged1Editing | 1 | 任何时候都能对单元格进行修改 |
| QAbstractItemView.DoubleClicked2Editing | 2 | 双击单元格 |
| QAbstractItemView.SelectedClicked4Editing | 4 | 单击已经选中的内容 |
| QAbstractItemView.EditKeyPressed8Editing | 8 | 当修改键按下时修改单元格 |
| QAbstractItemView.AnyKeyPressed16Editing | 16 | 按任意键修改单元格 |
| QAbstractItemView.AllEditTriggers31Editing | 31 | 包括以上所有条件 |
| 选择 | 值 | 描述 |
|---|---|---|
| QAbstractItemView.SelectItems0Selecting | 0 | 选中单个单元格 |
| QAbstractItemView.SelectRows1Selecting | 1 | 选中一行 |
| QAbstractItemView.SelectColumns2Selecting | 2 | 选中一列 |
| 选项 | 描述 |
|---|---|
| Qt.AlignLeft | 将单元格内的内容沿单元格的左边缘对齐 |
| Qt.AlignRight | 将单元格内的内容沿单元格的右边缘对齐 |
| Qt.AlignHCenter | 在可用空间中,居中显示在水平方向上 |
| Qt.AlignJustify | 将文本在可用空间内对齐,默认从左到右 |
| 选项 | 描述 |
|---|---|
| Qt.AlignTop | 与顶部对齐 |
| Qt.AlignBottom | 与底部对齐 |
| Qt.AlignVCenter | 在可用空间中,居中显示在垂直方向上 |
| Qt.AlignBaseline | 与基线对齐 |
如果要设置水平和垂直方向对齐方式,比如在表格空间内上下,左右居中对齐,那么只要使用Qt,AlignHCenter和Qt,AlignVCenter即可
如数据也需要设置列数,否则可能不显示;
tableWidget->setColumnCount(10);