gpt4 book ai didi

python - 调整 QVBoxLayout 的大小

转载 作者:太空宇宙 更新时间:2023-11-03 19:06:45 25 4
gpt4 key购买 nike

我有一个 QVBoxLayout,我在其中放置了一些按钮。我编写了一个删除按钮的函数,但是当我这样做时,该框不会根据内容调整其大小。这是删除函数的一部分:

for each_difference in differences_remove:

old_index = self.all_tags.index(each_difference)
print("old" + str(old_index))
self.vbox_all_tags.removeWidget(self.liste_pressoirs[old_index])
del self.liste_pressoirs[old_index]

我希望 self.vbox_all_tags 在删除按钮后调整其大小以适应新内容。你会怎么做?

请。

最佳答案

只需调用 adjustSize删除按钮后在您的小部件上,这是一个演示:

#!/usr/bin/env python
#-*- coding:utf-8 -*-
from PyQt4 import QtCore, QtGui

class MyWindow(QtGui.QWidget):
_buttons = []

def __init__(self, parent=None):
super(MyWindow, self).__init__(parent)

self.pushButtonRemove = QtGui.QPushButton(self)
self.pushButtonRemove.setText("Remove A Button!")
self.pushButtonRemove.clicked.connect(self.on_pushButtonRemove_clicked)

self.widgetButtons = QtGui.QWidget(self)

self.layoutButtons = QtGui.QHBoxLayout(self.widgetButtons)

self.layout = QtGui.QVBoxLayout(self)
self.layout.addWidget(self.pushButtonRemove)
self.layout.addWidget(self.widgetButtons)

for buttonNumber in range(3):
pushButton = QtGui.QPushButton()
pushButton.setText("Button {0}".format(buttonNumber))

self._buttons.append(pushButton)
self.layoutButtons.addWidget(pushButton)

@QtCore.pyqtSlot()
def on_pushButtonRemove_clicked(self):
if self._buttons:
pushButton = self._buttons[-1]

self._buttons.pop()
self.layoutButtons.removeWidget(pushButton)

pushButton.deleteLater()

self.widgetButtons.adjustSize()
self.adjustSize()

if __name__ == "__main__":
import sys

app = QtGui.QApplication(sys.argv)
app.setApplicationName('MyWindow')

main = MyWindow()
main.show()

sys.exit(app.exec_())

关于python - 调整 QVBoxLayout 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14538985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com