일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- cocoapods
- Apple
- graph
- 개발자
- kotlin
- UIButton
- Swift
- Python
- Storyboard
- charts
- Xcode
- library
- PyQt
- androidstudio
- TableView
- modal
- ios
- Android
- Chrats
- 개발
- alamofire
- 그래프
- Chart
- button
- ui
- PyQt5
- 라이브러리
- UITableView
- 어플리케이션
- UIKit
Archives
- Today
- Total
Jiwift
[Python/PyQt] QListWidget 리스트 위젯 / UI 알아보기 본문
반응형
리스트 위젯(Widget)과 뷰(View)가 있는데 위젯이 더 간편한 것 같다. 사용하는 방법은 같으나 편리함 정도 차이가 있다.
# 한번 클릭
self.[리스트위젯 이름].itemClicked.connect([기능])
# 더블 클릭
self.[리스트위젯 이름].itemDoubleClicked.connect([기능])
# 항목 변경
self.[리스트위젯 이름].currentItemChanged.connect([기능])
리스트 위젯 클릭 이벤트를 담당하는 메서드
# 선택된 리스트위젯 아이템 번호
self.[리스트위젯 이름].currentRow()
# 선택된 리스트위젯 객체 반환
self.[리스트위젯 이름].currentItem()
# row번째 리스트위젯 객체 반환
self.[리스트위젯 이름].item(row)
리스트 목록 정보를 가지고 오는 함수. 반환된 객체 뒤에 .text()를 하면 선택된 객체의 내용을 가지고 온다.
# 리스트위제위젯에 항목을 추가합니다.
self.[리스트위젯 이름].addItem(String)
# row번 자리에 항목을 추가합니다.
self.[리스트위젯 이름].insertItem(row, String)
# row번 자리 항목으로 가지고 옵니다.
self.[리스트위젯 이름].tatkeItem(row)
# 리스트위젯을 초기화합니다.
self.[리스트위젯 이름].clear()
리스트 위젯에 항목들을 컨트롤한다. 위 메서드를 사용해 다양한 구현이 가능하다.
예시
# 버튼을 통하여 기능들을 연결합니다.
self.pushButton.clicked.connect(self.add_item)
self.pushButton_2.clicked.connect(self.insert_item)
self.pushButton_3.clicked.connect(self.take_item)
self.pushButton_4.clicked.connect(self.clear)
self.pushButton_5.clicked.connect(self.item_row)
# 리스트위젯 클릭을 통하여 기능 연결
self.listWidget.itemClicked.connect(self.one_click)
self.listWidget.itemDoubleClicked.connect(self.double_click)
self.listWidget.currentItemChanged.connect(self.change_item)
def add_item(self):
self.listWidget.addItem(self.lineEdit.text())
def insert_item(self):
self.listWidget.insertItem(int(self.lineEdit_2.text()), self.lineEdit.text())
def take_item(self):
self.listWidget.takeItem(int(self.lineEdit_3.text()))
def clear(self):
self.listWidget.clear()
def item_row(self):
self.label_4.setText(self.listWidget.item(int(self.lineEdit_4.text())).text())
def one_click(self):
self.label_2.setText(str(self.listWidget.currentRow()))
self.label_3.setText(self.listWidget.currentItem().text())
def double_click(self):
self.label_5.setText(str(self.listWidget.currentRow()))
self.label_6.setText(self.listWidget.currentItem().text())
def change_item(self):
self.label_8.setText(str(self.listWidget.currentRow()))
self.label_9.setText(self.listWidget.currentItem().text())
반응형
'다른 개발 > Python' 카테고리의 다른 글
[Python/PyQt] QStackedWidget 스택 위젯 / UI 알아보기 (0) | 2022.12.30 |
---|---|
[Python/PyQt] QHorizontalSlider, QVerticalSlider, QDial 슬라이더, 다이얼 위젯 / UI 알아보기 (0) | 2022.12.30 |
[Python/PyQt] QLineEdit 라인에디트 위젯 / UI 알아보기 (0) | 2022.12.29 |
[Python/PyQt] QLabel 레이블 위젯 / UI 알아보기 (0) | 2022.12.29 |
[Python/PyQt] QCheckBox 체크박스 위젯 / UI 알아보기 (0) | 2022.12.29 |