Updated:2023-02-16 Yamagishi

Created:2022-01-30 Yamagishi


Reference:

Methods:

def addWidget (w)
def count ()
def currentIndex ()
def currentWidget ()
def indexOf (arg__1)
def insertWidget (index, w)
def removeWidget (w)
def widget (arg__1)

Slots

Signals:

Examples:

"""StackWidget Example01
Info:
    * Version : v1.0.0
    * Updated : 2023-02-16 Tatsuya YAMAGISHI
    * Created : 2023-02-16 Tatsuya YAMAGISHI
    * Coding : Python 3.7.9 & PySide2
"""

import sys

from PySide2 import QtWidgets

class MyWidget(QtWidgets.QDialog):
    def __init__(self, parent=None):
        super().__init__(parent)

        self.resize(300, 300)

        self.main_layout = QtWidgets.QVBoxLayout(self)
				
				# Combobox
        self.list = QtWidgets.QComboBox()
        self.list.setFixedWidth(80)
        self.list.addItems(['Page1', 'Page2', 'Page3'])
        self.main_layout.addWidget(self.list)

				# Stacked Widget
        self.widget_1 = QtWidgets.QLabel('Stack1')
        self.widget_2 = QtWidgets.QLabel('Stack2')
        self.widget_3 = QtWidgets.QLabel('Stack3')

        self.stack = QtWidgets.QStackedWidget()
        self.stack.addWidget(self.widget_1)    
        self.stack.addWidget(self.widget_2)    
        self.stack.addWidget(self.widget_3)
        self.main_layout.addWidget(self.stack)
			
				# Signal
        self.list.activated.connect(self.list_activated)

    def list_activated(self, index):
				print(index)
        self.stack.setCurrentIndex(index)

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    view = MyWidget()
    view.show()
    app.exec_()