PyQt5 예제 - QStackedWidgetQt/PyQt5 강좌2023. 10. 22. 05:37
Table of Contents
반응형
간단한 QStackedWidget 예제입니다.
2022. 8. 14 최초작성
버튼위에 QStackedWidget를 위한 영역이 존재합니다.
STACK 1과 STACK 2 버튼을 누름에 따라 이 영역에 다른 레이어를 보여줍니다.
전체 소스코드입니다.
import sys from PyQt5.QtWidgets import QVBoxLayout, QHBoxLayout, QWidget, QStackedWidget, QPushButton, QLabel, QDialog, QApplication from PyQt5.QtGui import QPixmap class MainDialog(QDialog): def __init__(self): super().__init__() vertical_layout = QVBoxLayout() stack1 = QWidget() stack2 = QWidget() self.Stack = QStackedWidget() self.Stack.addWidget(stack1) self.Stack.addWidget(stack2) horizontal_layout1 = QHBoxLayout() label1 = QLabel() label2 = QLabel() horizontal_layout1.addWidget(label1) horizontal_layout1.addWidget(label2) pixmap = QPixmap('images.png') label1.setPixmap(pixmap) label2.setPixmap(pixmap) stack1.setLayout(horizontal_layout1) horizontal_layout2 = QHBoxLayout(self) label3 = QLabel() horizontal_layout2.addWidget(label3) label3.setPixmap(pixmap) label3.setScaledContents(True) stack2.setLayout(horizontal_layout2) vertical_layout.addWidget(self.Stack) horizontal_layout3 = QHBoxLayout() self.Button1 = QPushButton('STACK 1', self) self.Button1.clicked.connect(self.show_stack1) self.Button2 = QPushButton('STACK 2', self) self.Button2.clicked.connect(self.show_stack2) horizontal_layout3.addWidget(self.Button1) horizontal_layout3.addWidget(self.Button2) vertical_layout.addLayout(horizontal_layout3) self.setLayout(vertical_layout) self.Button1.setEnabled(False) def show_stack1(self): self.Stack.setCurrentIndex(0) self.Button1.setEnabled(False) self.Button2.setEnabled(True) def show_stack2(self): self.Stack.setCurrentIndex(1) self.Button1.setEnabled(True) self.Button2.setEnabled(False) if __name__ == '__main__': app = QApplication(sys.argv) dlg = MainDialog() dlg.show() app.exec_() |
참고
https://www.tutorialspoint.com/pyqt/pyqt_qstackedwidget.htm
https://stackoverflow.com/questions/10915215/pyqt-qt-how-to-stretch-an-image-in-qlabel-widget
https://www.pythonguis.com/faq/adding-images-to-pyqt5-applications/
반응형
'Qt > PyQt5 강좌' 카테고리의 다른 글
PyQt5 예제 - QTreeView으로 json 로드하기 및 저장하기 (0) | 2023.10.22 |
---|---|
PyQt5 예제 - QListWidget (0) | 2023.10.22 |
PyQt5 예제 - connect에서 slot 함수에 아규먼트 전달하기 (0) | 2023.10.22 |
PyQt5 예제 - QProgressDialog (0) | 2023.10.22 |
PyQt5 예제 - FlowLayout (0) | 2023.10.22 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
@webnautes :: 멈춤보단 천천히라도
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!