지난번 탭 다이얼로그에, 글자(라벨)와 사진 3장을 넣은 탭을 만들어 보도록 하겠습니다.
스크롤 바를 내려 아래 사진들을 더 볼 수 있게 합니다.
결과 화면 :
소스 코드 :
지난번 TabWidgetA 클래스에 아래의 내용을 추가합니다.
- QLabel 로 텍스트를 추가합니다.
- QScrollArea를 만듭니다.
- QScrollArea에 사진을 넣기 위해, 먼저 widget을 하나 만들어 줍니다.
- widget에 그림(pixmap)을 추가해 줍니다.
- widget을 QScrollArea에 붙입니다.
- QVBoxLayout에 위에서 만든 QLabel 과 QScrollArea를 추가합니다.
(QVBoxLayout을 사용하는 이유는, 창 사이즈를 줄이거나/늘릴때 내용도 같이 동적으로 변하게 하기 위함)
class TabWidgetA(QWidget):
def __init__(self):
QWidget.__init__(self)
mainLayout = QVBoxLayout(self)
self.label = QLabel(self)
self.label.setText("Label text")
self.scroll = QScrollArea(self)
widget = QWidget()
vBox = QVBoxLayout()
for name in ('0001', '0002', '0003'):
# pixmap 경로는 본인의 사진 파일이 있는 경로를 사용
# (main 함수가 있는 .py 파일의 위치부터의 경로)
pixmap = QPixmap("venv/qt/tabwidget/data/{}.jpg".format(name))
label = QLabel(self)
label.setPixmap(pixmap)
label.resize(pixmap.width(), pixmap.height())
vBox.addWidget(label)
widget.setLayout(vBox)
self.scroll.setWidget(widget)
self.scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
self.scroll.setWidgetResizable(True)
mainLayout.addWidget(self.label)
mainLayout.addWidget(self.scroll)
self.setLayout(mainLayout)
연결된 글 보기 :
[PyQt] Python에서 QTabWidget(탭 위젯) 사용하기
'개발 > Qt' 카테고리의 다른 글
[PyQt] StyleSheet 사용해서 QComboBox 색상 변경 (0) | 2021.11.06 |
---|---|
[PyQt] 트리 뷰(QTreeView)에 콤보박스(QComboBox) 추가하기 (0) | 2021.11.03 |
[PyQt] QTreeView에서 각 아이템마다 다른 툴팁 설정하기 (0) | 2021.11.01 |
[PyQt] 파일에서 데이터 읽어 테이블로 보여주기(QTableWidget) (0) | 2021.10.30 |
[PyQt] Python에서 QTabWidget(탭 위젯) 사용하기 (0) | 2021.10.26 |