
PyQt5로 구현한 버튼으로 스크롤 가능한 리스트뷰(QListWidget) 예제Qt/PyQt5 강좌2024. 9. 29. 05:32
Table of Contents
반응형
PyQt5로 구현한 버튼으로 스크롤 가능한 리스트뷰(QListWidget) 예제입니다.
2024. 9. 29 최초작성
버튼을 눌러 위아래 스크롤이 가능합니다.
사용한 전체 코드입니다.
import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QListWidget, QPushButton class ListViewApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): # 메인 레이아웃 mainLayout = QVBoxLayout() # 리스트 위젯 생성 self.listWidget = QListWidget() # 30개의 아이템 추가 for i in range(30): self.listWidget.addItem(f"Item {i+1}") # 버튼 레이아웃 buttonLayout = QHBoxLayout() # 위로 스크롤 버튼 upButton = QPushButton("Up") upButton.clicked.connect(self.scrollUp) # 아래로 스크롤 버튼 downButton = QPushButton("Down") downButton.clicked.connect(self.scrollDown) # 버튼을 레이아웃에 추가 buttonLayout.addWidget(upButton) buttonLayout.addWidget(downButton) # 메인 레이아웃에 위젯들 추가 mainLayout.addWidget(self.listWidget) mainLayout.addLayout(buttonLayout) # 레이아웃 설정 self.setLayout(mainLayout) # 윈도우 설정 self.setGeometry(300, 300, 300, 400) self.setWindowTitle('ListView with Scroll Buttons') # 첫 번째 아이템 선택 self.listWidget.setCurrentRow(0) def scrollUp(self): """ 위로 스크롤 버튼 클릭 시 호출되는 메서드 현재 선택된 아이템의 바로 위 아이템을 선택함 """ currentRow = self.listWidget.currentRow() # 현재 선택된 행이 첫 번째 행이 아닐 경우에만 위로 이동 if currentRow > 0: self.listWidget.setCurrentRow(currentRow - 1) def scrollDown(self): """ 아래로 스크롤 버튼 클릭 시 호출되는 메서드 현재 선택된 아이템의 바로 아래 아이템을 선택함 """ currentRow = self.listWidget.currentRow() # 현재 선택된 행이 마지막 행이 아닐 경우에만 아래로 이동 if currentRow < self.listWidget.count() - 1: self.listWidget.setCurrentRow(currentRow + 1) if __name__ == '__main__': app = QApplication(sys.argv) ex = ListViewApp() ex.show() sys.exit(app.exec_()) |
반응형
'Qt > PyQt5 강좌' 카테고리의 다른 글
pyQt5을 사용하여 만든 간단한 알람 시계 (2) | 2024.09.10 |
---|---|
pyQt5로 만든 이미지 뷰어 (0) | 2024.08.21 |
PyQt5 검색창 UI 예제 (0) | 2024.08.12 |
두 개의 바를 사용하여 최대값, 최소값 조정하는 슬라이더 PyQt5 예제 (0) | 2024.08.09 |
pyQt5 다중 탭에 텍스트 에디터가 포함된 예제 (0) | 2024.08.08 |