表格宽度未调整大小(pyqt5)

2024-09-27 00:14:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Qt和PyQt的初学者,正在尝试创建一个表。在

我创建的表格如下:

table = QTableWidget(4, 5)
table.setHorizontalHeaderLabels(tableHeaders)
table.setSizeAdjustPolicy(QAbstractScrollArea.AdjustToContents)
self.updateTable(table, self.tracks)
table.setFixedHeight(TABLE_FIXED_HEIGHT)

每隔一段时间就会调用updateTable函数来更新表内容。在

^{pr2}$

这将创建一个正常的表,但是表的宽度没有调整到它的内容,因此表太小,无法显示所有列。在

当列中没有任何内容时,表似乎会调整到开始时的列:

Table without data - width correct

但是当填充表格时,宽度不会调整大小。在

Table with data - width not updated and incorrect

我不在乎身高,那是固定的。在

有什么帮助吗?在

编辑-这是包含表的布局

titleHBox = QHBoxLayout()
titleHBox.addStretch(1)
titleHBox.addWidget(titleLabel)
titleHBox.addStretch(1)

upperHBox = QHBoxLayout()
upperHBox.addStretch(1)
upperHBox.addLayout(leftVBox)
upperHBox.addWidget(table)    # <-
upperHBox.addLayout(rightVBox)
upperHBox.addStretch(1)
lowerHBox = QHBoxLayout()
lowerHBox.addStretch(1)
lowerHBox.addWidget(loadButton)
lowerHBox.addWidget(saveButton)
lowerHBox.addWidget(spotifyFetchButton)
lowerHBox.addWidget(youtubeFetchButton)
lowerHBox.addWidget(removeButton)
lowerHBox.addStretch(1)
mainVBox = QVBoxLayout()
mainVBox.addLayout(titleHBox)
mainVBox.addLayout(upperHBox)
mainVBox.addLayout(lowerHBox)

self.setLayout(mainVBox)
self.setWindowTitle("Music Converter")
self.show()

编辑2-整个代码,编辑为独立工作https://pastebin.com/X3t1GSfS


Tags: self编辑内容宽度table表格addwidgetqhboxlayout

热门问题