首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt QTableWidget列调整大小

Qt QTableWidget列调整大小
EN

Stack Overflow用户
提问于 2013-03-28 15:57:07
回答 7查看 32.8K关注 0票数 7

我有一个MainWindow和一个QToolbar,QWidget和QTabWidget。布局是“网格”。但是,我的窗口是可调整大小的,而且由于我有一个布局,所以它工作得很好。但是有一个问题,在我的QTabWidget中,我有一个有两列的QTableWidget (布局也是“网格”)。如果我调整整个窗口的大小,QTableWidget会调整大小,但不会调整列的大小。

例如,每当我调整窗口的大小时,我的QTabWidget也会调整大小,其中的QTableWidget也会调整大小。只有我的QTableWidget中的列才不会。

所以..。如果我的QTableWidget调整大小,我如何调整它们的大小?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-03-28 16:18:52

  1. 更改ResizeModeQHeaderView。例如,使用:

代码语言:javascript
复制
horizontalHeader()->setResizeMode( 0, QHeaderView::Stretch );

使第一列调整大小,使QTableWidget始终是满的。

  1. 重写resizeEvent,并在调整QTableWidget大小时自行设置每个列的宽度。
票数 17
EN

Stack Overflow用户

发布于 2014-02-04 12:40:57

  1. 要扩展最后一栏: ui->tableWidget->horizontalHeader()->setStretchLastSection(true);
  2. 拉伸#n列: ui->tableWidget->horizontalHeader()->setSectionResizeMode(n,QHeaderView::拉伸);
票数 11
EN

Stack Overflow用户

发布于 2015-07-29 13:31:04

在Qt5中,最好的解决方案是使用setSectionResizeMode而不是setResizeMode

代码语言:javascript
复制
tabv = QTableView()
tabv.horizontalHeader().setSectionResizeMode(QHeaderView::Stretch)

还可以在调整大小时指定Stretch模式。

代码语言:javascript
复制
tabv.horizontalHeader().resizeSections(QHeaderView::Stretch)
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15686501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档