PyQt:如何为各个标头设置不同的标头大小?

发布于 2024-12-22 00:44:51 字数 187 浏览 3 评论 0原文

我有一个列表,其中包含两个项目的列表,一个单词和一个数字。该列表将使用表格小部件呈现。

我的目标是生成一个包含两列和必要行的表格,但是包含单词的列的标题应该大于数字列。

我可以使用调整列大小来调整内容,但我希望在调整大小后表格周围没有白色的空白区域。

为了创建 GUI 代码,我使用 QtDesigner。谢谢。

I have a list containing lists with two items,a word and a number.This list will be presented using a tablewidget.

My aim is to produce a table with two columns and with the neccessary rows,but the header of the column which will have the words should be larger than the numbers column.

I could use resize columns to content,but I want the table without the white empty white space around the table,after the resize.

For the creation of the gui code I am using QtDesigner.Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

傻比既视感 2024-12-29 00:44:52

QHeaderView 类有一些方法可能会做你想做的事。最简单的是:

table.horizontalHeader().setStretchLastSection(True)

这将确保自动调整最后一列的大小以适应表中的可用空间,而其他列的宽度保持原样(并由用户调整大小)。

或者,有一些方法可以设置 ResizeMode< /a> 列。

对于 Qt5:

table.setColumnWidth(1, 80)
table.horizontalHeader().setSectionResizeMode(0, QHeaderView.Stretch)

对于 Qt4:

table.setColumnWidth(1, 80)
table.horizontalHeader().setResizeMode(0, QHeaderView.Stretch)

这将固定第二列的宽度,并确保自动调整第一列的大小以填充剩余空间(但防止用户进行任何其他调整大小)。

There are a few methods of the QHeaderView class that will probably do what you want. The simplest is:

table.horizontalHeader().setStretchLastSection(True)

This will ensure that the last column is automatically resized to fit the available space in the table, leaving the width of the other columns as they are (and resizable by the user).

Alternatively, there are methods for setting the ResizeMode of the columns.

For Qt5:

table.setColumnWidth(1, 80)
table.horizontalHeader().setSectionResizeMode(0, QHeaderView.Stretch)

For Qt4:

table.setColumnWidth(1, 80)
table.horizontalHeader().setResizeMode(0, QHeaderView.Stretch)

This will fix the width of the second column, and ensure the first column is automatically resized to fill the remaining space (but preventing any other resizing by the user).

吃→可爱长大的 2024-12-29 00:44:52

对此的最佳解决方案是,在 Qt5 中,您必须使用 setSectionResizeMode 而不是 setResizeMode

tabv = QTableView()
tabv.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

或者

tabv.horizontalHeader().setSectionResizeMode(1)

the best solution for this, in Qt5 you have to use setSectionResizeMode instead of setResizeMode:

tabv = QTableView()
tabv.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

or

tabv.horizontalHeader().setSectionResizeMode(1)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文