Как добавить два виджета в QStackedWidget?

Допустим, я у меня есть QLineEdit и QLabel.

Как я могу их запихнуть в QStackedWidget оба и выровнять по центру?

from PyQt5.Qt import *
import sys

class Window(QWidget):
    def __init__(self, parent = None):
        Qwidget.__init__(self,parent)

        self.edit = QTextEdit()
        self.label = QLabel()
        self.stacked_widget = QStackedWidget()

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())

Ответы (1 шт):

Автор решения: S. Nick

Попробуйте так

import sys
from PyQt5.Qt import *


class Window(QWidget):
    def __init__(self):
        super().__init__()

        self.edit = QTextEdit()
        self.label = QLabel('<h2>Hello World</h2>', alignment=Qt.AlignCenter)
        
        self.stack = QWidget()
        layout = QVBoxLayout(self.stack)
        layout.addWidget(self.label)
        layout.addWidget(self.edit)
        
        self.stacked_widget = QStackedWidget(self)
        self.stacked_widget.addWidget(self.stack)

        hbox = QHBoxLayout(self)
        hbox.addWidget(self.stacked_widget)
        

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())

введите сюда описание изображения


Update

я видимо плохо прочитал ваш вопрос.

import sys
from PyQt5.Qt import *


class Window(QWidget):
    def __init__(self):
        super().__init__()

        self.stack1 = QTextEdit('TextEdit')
        self.stack2 = QLabel('<h2>Hello World</h2>', alignment=Qt.AlignCenter)

        self.stacked_widget = QStackedWidget(self)
        self.stacked_widget.addWidget(self.stack1)
        self.stacked_widget.addWidget(self.stack2)

        self.lestWidget = QListWidget()
        self.lestWidget.setFixedWidth(100)
        self.lestWidget.addItems(['TextEdit', 'Label'])
        self.lestWidget.currentRowChanged.connect(self.display)
        
        hbox = QHBoxLayout(self)
        hbox.addWidget(self.lestWidget)
        hbox.addWidget(self.stacked_widget)

    def display(self, i):
        self.stacked_widget.setCurrentIndex(i)
    

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())

введите сюда описание изображения

введите сюда описание изображения

→ Ссылка