Как в PyCharm QtDesigner создать функцию, при которой при нажатии на кнопку в первом окне откроется второе окно?

Как изменить данный код на Python, чтобы при нажатии кнопки pushButton_2 открывалось окно dezine столько раз, сколько будет нажато на кнопку? Смесь класс объектов. Мне требуется помощь в исправлении ошибки -1073740791 (0xC0000409), возникающей при попытке внесения изменений с использованием классов.
  • 11 июля 2024 г. 9:32
Ответы на вопрос 1
Для создания функции, при которой при нажатии на кнопку в первом окне открывается второе окно в QtDesigner в PyCharm, необходимо сделать следующее:

1. Откройте QtDesigner в PyCharm и создайте нужные вам окна.
2. На первом окне разместите кнопку.
3. Нажмите правой кнопкой мыши на кнопку и выберите "Подключить к слоту", затем выберите событие "clicked()" и нажмите "ОК".
4. В появившемся диалоговом окне выберите или создайте новую функцию для обработки события нажатия на кнопку.
5. В этой функции используйте метод `show()` для отображения второго окна.

Чтобы изменить код на Python, чтобы при нажатии кнопки `pushButton_2` открывалось окно `dezine` столько раз, сколько будет нажато на кнопку, можно воспользоваться следующим кодом:

```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.pushButton_2.clicked.connect(self.open_dezine_window)
        self.dezine_count = 0

    def open_dezine_window(self):
        self.dezine_count += 1
        for _ in range(self.dezine_count):
            dezine = DezineWindow()
            dezine.show()

class DezineWindow(QMainWindow):
    def __init__(self):
        super().__init__()

# Создание экземпляров классов и запуск приложения
if __name__ == '__main__':
    app = QApplication(sys.argv)
    main_window = MainWindow()
    main_window.show()
    sys.exit(app.exec_())
```

Что касается ошибки -1073740791 (0xC0000409), то это может быть связано с различными причинами, например, с неправильным обращением к памяти, переполнением стека или другими проблемами в вашем коде. Рекомендуется провести отладку кода и проверить, что все объекты и переменные используются корректно и нет ошибок в работе с памятью.
Похожие вопросы