Как в PyQt создать кнопку внутри stackedWidget?

  • 7 сентября 2023 г. 18:36
Ответы на вопрос 1
Привет! Чтобы создать кнопку внутри виджета stackedWidget, следуйте этим шагам:

1. Создайте экземпляр класса QPushButton для создания кнопки.
2. Создайте экземпляр класса QWidget для создания виджета, на котором будет размещена кнопка.
3. Добавьте кнопку на виджет с помощью метода QWidget.layout().addWidget(button).
4. Добавьте виджет в stackedWidget с помощью метода QStackedWidget.addWidget(widget).
5. Установите виджет с кнопкой как текущую страницу stackedWidget с помощью метода QStackedWidget.setCurrentWidget(widget).

Вот пример кода, который показывает, как это сделать:

```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QWidget, QVBoxLayout, QStackedWidget

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

        self.stacked_widget = QStackedWidget(self)
        self.setCentralWidget(self.stacked_widget)

        # Создание первой страницы (page1)
        page1 = QWidget()
        layout1 = QVBoxLayout(page1)
        button = QPushButton("Кнопка на странице 1")
        layout1.addWidget(button)
        
        # Добавление страницы в stackedWidget
        self.stacked_widget.addWidget(page1)

        # Установка первой страницы как текущей
        self.stacked_widget.setCurrentWidget(page1)


if __name__ == "__main__":
    app = QApplication([])
    window = MainWindow()
    window.show()
    app.exec_()
```

Этот код создает QMainWindow с QStackedWidget в качестве виджета с центральным размещением. Затем он создает первую страницу (page1) на виджете QWidget с QVBoxLayout и добавляет на него кнопку. Затем он добавляет страницу в stackedWidget и устанавливает ее как текущую.

Таким образом, кнопка будет отображаться на первой странице stackedWidget.
Похожие вопросы