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 강좌' 카테고리의 다른 글
fcitx5 사용시 PyQt5에서 한글 입력안되는 문제 해결 방법 (2) | 2024.10.28 |
---|---|
QLabel에서 정수 출력시 자리수 유지하는 PyQt5 예제 코드 (0) | 2024.09.29 |
pyQt5에서 레이아웃을 사용하는 이유 (0) | 2024.09.22 |
pyQt5을 사용하여 만든 간단한 알람 시계 (2) | 2024.09.10 |
PyQt5 QDateEdit 사용 예제 (0) | 2024.09.04 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
@webnautes :: 멈춤보단 천천히라도
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!