Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- python #circular imports #
- 버튼크기
- 자바
- 1073741571
- 뷰크기
- 0xC00000FD
- Kotlin
- Java
- setVisibility
- 딕셔너리 복사
- 안드로이드 스튜디오
- cyclic imports
- 이미지크기
- 파이썬 문법
- 코틀린
- View.GONE
Archives
- Today
- Total
개발여행
[pyqt5, pyside2] 테이블 행, 열 추가 및 값 수정하기, 표에 위젯 넣기 본문
pyqt5를 기준으로 작성되었으나, 모듈을 import 할때 PyQt5대신 PySide2로 입력하여도 동일하게 동작한다.
import sys
from PyQt5.QtWidgets import *
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.resize(1280, 720)
self.hbox = QHBoxLayout(self)
self.setupUI()
self.show()
def setupUI(self):
columns = ['a', 'b', 'c', 'd']
table = QTableWidget()
table.setColumnCount(4)
table.setHorizontalHeaderLabels(columns)
table.setEditTriggers(QAbstractItemView.NoEditTriggers)
self.hbox.addWidget(table)
if __name__ == "__main__":
app = QApplication(sys.argv)
ex = MainWindow()
ex.show()
sys.exit(app.exec_())
위 코드는 기본적인 테이블 생성코드이다.
setItem(row, column, QTableWidgetItem)
테이블의 빈칸에 문자를 넣고싶은 경우, setIte 메소드에 행, 열, 내용을 전달하여 설정할 수 있다.
이때 내용은 QTableWidgetItem 객체 형태로 전달하여야 한다.
table.setRowCount(3)
table.setColumnCount(6)
table.setItem(2, 1, QTableWidgetItem('text'))
테이블을 처음 생성할 때와 마찬가지로 setRowCount()와 setColumnCount()메소드로 행, 열 개수를 조정할 수 있다.
setHeaderLabels()를 이용해 컬럼명을 초기화 해주지 않으면 위와 같이 기존의 컬럼명은 그대로 있고 추가되는 컬럼명이 숫자로 바뀐다.
setCellWidget(row, column, QWidget)
문자외의 위젯도 테이블에 삽입할 수 있다. 아래 같이 setCellWidget 메소드에 행, 열, 위젯을 전달해주면 해당하는 셀에 위젯을 삽입한다.
table.setCellWidget(2, 2, QPushButton('버튼'))
table.setCellWidget(2, 3, QCheckBox())
table.setCellWidget(2, 4, QLabel('라벨'))
table.setCellWidget(2, 5, QSpinBox())
cellWidget(row, column)
cellWidget 메소드로 테이블내의 위젯에 접근할 수 있다.
table.cellWidget(2, 2).setText('btn')
'Python' 카테고리의 다른 글
파이썬 리스트, 딕셔너리 정렬 및 뒤집기 (0) | 2021.08.04 |
---|---|
파이썬 리스트 복사하기: 얕은 복사와 깊은 복사 (0) | 2021.07.28 |
파이썬 람다(lambda) 함수 사용법, map(), reduce(), filter() 함수 (0) | 2021.07.24 |
파이썬 객체의 모든 속성 확인 및 비교하기, 파일로 저장한 객체 속성 갱신 (0) | 2021.07.23 |
파이썬 순환 참조 ModuleNotFoundError, AttributeError (0) | 2021.07.21 |