ResizeEvent продолжает перезапускатьсяPython

Программы на Python
Ответить
Anonymous
 ResizeEvent продолжает перезапускаться

Сообщение Anonymous »

У меня возникла проблема, когда я попытался выполнить некоторые динамические настройки в своем окне или разрешении экрана.
Внутри resizeEvent Я делаю это:
def resizeEvent(self, event):
super().resizeEvent(event)

# Calculate button height dynamically based on the window's height
button_height = self.height() // 15
button_width = self.width() // 2

# Set dynamic size for buttons
self.scan_button.setFixedHeight(button_height)
self.pause_button.setFixedHeight(button_height)
self.settings.setFixedHeight(button_height)
self.saveCSV.setFixedHeight(button_height)
self.savePNG.setFixedHeight(button_height)

# Optionally, adjust button widths proportionally
self.scan_button.setFixedWidth(button_width)
self.pause_button.setFixedWidth(button_width)
self.settings.setFixedWidth(button_width)
self.saveCSV.setFixedWidth(button_width)
self.savePNG.setFixedWidth(button_width)

Дело в том, что когда я пытаюсь запустить его, он запускает циклический повторный рендеринг. Кроме того, это происходит после превышения определенного значения (в моем случае значение 2 вызовет повторный рендеринг, но значение 3 не будет в моем button_width).
Некоторые из моих виджетов пользовательского интерфейса внутри моего инициализатора:
# ============================== Create a Grid Layout for the Buttons ==============================
button_layout = QGridLayout()
self.scan_button = QPushButton("Scan")
self.pause_button = QPushButton("Pause")
self.settings = QPushButton("Settings")
self.saveCSV = QPushButton("Save CSV")
self.savePNG = QPushButton("Save PNG")

self.pause_button.setVisible(False)

button_layout.addWidget(self.scan_button, 0, 0) # Row 0, Column 0
button_layout.addWidget(self.pause_button, 0, 0) # Row 0, Column 1
button_layout.addWidget(self.settings, 1, 0) # Row 0, Column 1
button_layout.addWidget(self.saveCSV, 0, 1) # Row 0, Column 1
button_layout.addWidget(self.savePNG, 1, 1) # Row 0, Column 1

layout.addLayout(button_layout, 1)

self.setLayout(layout)


Подробнее здесь: https://stackoverflow.com/questions/792 ... triggering
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»