반응형
PyQt6는 파이썬에서 GUI 프로그래밍을 할 때 사용되는 라이브러리 중 하나입니다. PyQt6는 Qt 라이브러리를 기반으로 하며, 다양한 위젯과 기능을 제공합니다. 이번에는 PyQt6에서 제공하는 QTab의 사용 방법과 예제에 대해 알아보겠습니다.
QTab이란?
QTab은 여러 탭을 가지는 위젯입니다. 탭은 각각 다른 위젯을 담을 수 있으며, 사용자는 탭을 클릭하여 다른 위젯으로 전환할 수 있습니다.
QTab 예제1
아래 예제는 QTab을 사용하여 두 개의 탭을 만드는 방법을 보여줍니다. 첫 번째 탭에는 Label 위젯이, 두 번째 탭에는 Button 위젯이 들어 있습니다.
import sys
from PyQt6.QtWidgets import QApplication, QWidget, QVBoxLayout, QTabWidget, QLabel, QPushButton
class MyWindow(QWidget):
def __init__(self):
super().__init__()
# 탭 위젯 생성
tabs = QTabWidget()
# 첫 번째 탭 생성
tab1 = QWidget()
label1 = QLabel("첫 번째 탭")
vbox1 = QVBoxLayout()
vbox1.addWidget(label1)
tab1.setLayout(vbox1)
# 두 번째 탭 생성
tab2 = QWidget()
button1 = QPushButton("두 번째 탭")
vbox2 = QVBoxLayout()
vbox2.addWidget(button1)
tab2.setLayout(vbox2)
# 탭 위젯에 탭 추가
tabs.addTab(tab1, "Label 탭")
tabs.addTab(tab2, "Button 탭")
# 레이아웃 설정
layout = QVBoxLayout()
layout.addWidget(tabs)
self.setLayout(layout)
if __name__ == "__main__":
app = QApplication(sys.argv)
win = MyWindow()
win.show()
sys.exit(app.exec())
QTab 예제2
2번째 예제는 버튼을 눌렀을때 다른 탭이 선택 되는 이벤트를 구현 합니다.
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QPushButton, QTabWidget, QWidget, QVBoxLayout
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# Create the QTabWidget and add two tabs
self.tabs = QTabWidget()
self.tab1 = QWidget()
self.tab2 = QWidget()
self.tabs.addTab(self.tab1, "Tab 1")
self.tabs.addTab(self.tab2, "Tab 2")
# Create a QVBoxLayout to add widgets to each tab
self.layout1 = QVBoxLayout()
self.button1 = QPushButton("Switch to Tab 2")
self.button1.clicked.connect(self.switch_tabs)
self.layout1.addWidget(self.button1)
self.tab1.setLayout(self.layout1)
self.layout2 = QVBoxLayout()
self.button2 = QPushButton("Switch to Tab 1")
self.button2.clicked.connect(self.switch_tabs)
self.layout2.addWidget(self.button2)
self.tab2.setLayout(self.layout2)
# Set the central widget of the main window to the QTabWidget
self.setCentralWidget(self.tabs)
def switch_tabs(self):
# Get the current index of the tab widget
current_index = self.tabs.currentIndex()
# Switch to the other tab
if current_index == 0:
self.tabs.setCurrentIndex(1)
else:
self.tabs.setCurrentIndex(0)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())
이번 글에서는 PyQt6에서 제공하는 QTab의 사용 방법과 예제에 대해 알아보았습니다. QTab은 여러 위젯을 담을 수 있는 탭을 제공하여 GUI 프로그래밍에 유용하게 사용될 수 있습니다. 다음에는 QTab을 이용하여 더 다양하고 복잡한 GUI를 만들어보는 것도 좋은 방법입니다.
반응형
'파이썬 (pythoon)' 카테고리의 다른 글
python pyqt6 텍스트박스 사용하기(한글) (0) | 2023.04.01 |
---|---|
Python PyQt6 QTextedit 예시 및 세팅(이벤트) (0) | 2023.03.12 |
PyQt6 QMessageBox 설정방법 예제 (0) | 2023.03.08 |
PyQt6 QTabWidget 기본 구성 (python) (0) | 2023.03.07 |
python PyQt6 Qcombobox 만들기 (0) | 2023.03.06 |