Qt5.9 QtableWidget 自动调整列宽
时间: 2023-08-29 10:13:41 浏览: 55
要让 QTableWidget 自动调整列宽,可以使用 resizeColumnsToContents() 函数。该函数会根据列中内容的宽度自动调整列宽。
示例代码如下:
```cpp
ui->tableWidget->resizeColumnsToContents();
```
这样就可以让 QTableWidget 中的列自动调整宽度。如果你想让表格的所有列都自动调整宽度,可以使用 resizeColumnsToContents() 函数。
```cpp
ui->tableWidget->resizeColumnsToContents();
```
需要注意的是,如果表格中有很多行或列,这个函数可能会比较耗时,因此最好在添加完所有行和列之后再调用该函数。
相关问题
qtableWidget 自动调整列宽程序
这里是一个简单的示例程序,演示如何使用 `QTableWidget` 的 `resizeColumnsToContents()` 方法自动调整列宽,以及如何设置表格自适应窗口大小:
```python
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QHeaderView
import sys
class Example(QTableWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle("QTableWidget自动调整列宽")
self.resize(500, 300)
# 设置表格行列数
self.setRowCount(3)
self.setColumnCount(3)
# 设置表格数据
for i in range(3):
for j in range(3):
item = QTableWidgetItem("item(%d, %d)" % (i, j))
self.setItem(i, j, item)
# 设置列宽自动调整
self.resizeColumnsToContents()
# 设置表格自适应窗口大小
self.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())
```
在这个示例程序中,我们先创建了一个 3 行 3 列的表格,并设置了表格数据。然后调用了 `resizeColumnsToContents()` 方法自动调整列宽,使得表格中的内容能够全部显示出来。最后,我们设置了表格自适应窗口大小,使得表格能够自动适应窗口大小。
使用 qt,写一个qtableWidget 自动调整列宽程序
好的,这里是一个使用 Qt 编写的 QTableWidget 自动调整列宽的程序,你可以参考一下:
```cpp
#include <QApplication>
#include <QTableWidget>
#include <QTableWidgetItem>
#include <QHeaderView>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 创建表格
QTableWidget tableWidget;
tableWidget.setWindowTitle("QTableWidget自动调整列宽");
tableWidget.resize(500, 300);
tableWidget.setRowCount(3);
tableWidget.setColumnCount(3);
// 设置表格数据
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
QTableWidgetItem *item = new QTableWidgetItem(QString("item(%1, %2)").arg(i).arg(j));
tableWidget.setItem(i, j, item);
}
}
// 自动调整列宽
tableWidget.resizeColumnsToContents();
// 自适应窗口大小
tableWidget.horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
tableWidget.show();
return a.exec();
}
```
这个程序使用了 Qt 的 C++ 接口来创建一个 QTableWidget,然后设置表格数据,自动调整列宽,自适应窗口大小,并显示出来。
需要注意的是,这个程序中使用了 `QHeaderView::Stretch` 来设置表格自适应窗口大小,这会使得表格的列宽会根据窗口大小自动调整。如果你想要固定列宽,可以将 `QHeaderView::Stretch` 改为 `QHeaderView::ResizeToContents` 或者 `QHeaderView::Fixed`。