본문 바로가기

프로그래밍/PyQt5 GUI

25. QTabWidget

25-1 예제: ex24

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QTabWidget, QVBoxLayout


class MyApp(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        tab1 = QWidget()
        tab2 = QWidget()

        tabs = QTabWidget()
        tabs.addTab(tab1, 'Tab1')
        tabs.addTab(tab2, 'Tab2')

        vbox = QVBoxLayout()
        vbox.addWidget(tabs)

        self.setLayout(vbox)

        self.setWindowTitle('QTabWidget')
        self.setGeometry(300, 300, 300, 200)
        self.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = MyApp()
    sys.exit(app.exec_())

25-2 설명

tab1 = QWidget()
tab2 = QWidget()

각 탭에 위치할 두 개의 위젯을 만들었습니다.

tabs = QTabWidget()
tabs.addTab(tab1, 'Tab1')
tabs.addTab(tab2, 'Tab2')

QTabWidget() 을 이용해서 탭을 만들어주고, addTab() 을 이용해서 'Tab1'과 'Tab2'를 tabs에 추가해줍니다.

vbox = QVBoxLayout()
vbox.addWidget(tabs)

self.setLayout(vbox)

수직 박스 레이아웃을 하나 만들어서 탭 위젯 (tabs)을 배치합니다.

그리고 수직 박스(vbox)를 위젯의 레이아웃으로 설정합니다.

 

25-3 결과

'프로그래밍 > PyQt5 GUI' 카테고리의 다른 글

27. QClendarWidget  (0) 2021.07.26
26. QPixmap  (0) 2021.07.26
24. QGroupBox  (0) 2021.07.26
23. QSplitter  (0) 2021.07.26
22. QSlider & QDial  (0) 2021.07.26