Python PyQt6은 데이터를 표와 같은 형식으로 표시하기 위한 TableView 위젯을 제공합니다. 이 글에서는 PyQt6 TableView를 사용하여 데이터를 표시하고, 모양을 사용자 지정하고, 테이블과의 상호 작용을 처리하는 방법을 살펴봅니다. 자, 그럼 Python PyQt6 TableView 사용 데이터 표시하기 시작해 볼까요?
[목차]
1. 기본 TableView 만들기
2. TableView 사용자 지정
3. TableView와의 상호 작용 처리
4. 결론 및 의견
1. 기본 TableView 만들기
기본 테이블 보기를 만들려면 필요한 모듈을 가져와서 QTableView 클래스를 인스턴스화해야 합니다. 또한 QStandardItemModel 클래스를 사용하여 데이터를 저장하고 조작합니다. 다음은 샘플 데이터를 표시하는 기본 테이블 보기의 예입니다.
from PyQt6.QtCore import Qt
from PyQt6.QtGui import QStandardItemModel, QStandardItem
from PyQt6.QtWidgets import QApplication, QMainWindow, QTableView
app = QApplication([])
window = QMainWindow()
model = QStandardItemModel()
model.setHorizontalHeaderLabels(["Name", "Age", "Country"])
data = [
["John Doe", "25", "USA"],
["Jane Smith", "30", "Canada"],
["Michael Johnson", "40", "Australia"]
]
for row in data:
items = [QStandardItem(item) for item in row]
model.appendRow(items)
table_view = QTableView()
table_view.setModel(model)
window.setCentralWidget(table_view)
window.show()
app.exec()
실행화면
2. TableView 사용자 지정
PyQt6 TableView는 테이블의 시각적 모양과 동작을 향상시키기 위해 다양한 사용자 지정 옵션을 제공합니다. 머리글 레이블을 수정하고, 열 너비를 조정하고, 정렬을 활성화하는 등의 작업을 수행할 수 있습니다. 다음은 이러한 사용자 지정 중 일부를 보여주는 예입니다.
# ... previous code ...
# Set column widths
table_view.setColumnWidth(0, 200)
table_view.setColumnWidth(1, 80)
table_view.setColumnWidth(2, 120)
# Enable sorting
table_view.setSortingEnabled(True)
# Set table style
table_view.setStyleSheet("QTableView { background-color: #f2f2f2; }")
table_view.horizontalHeader().setStyleSheet("QHeaderView::section { background-color: #cccccc; }")
# ... continue with window setup and execution ...
3. TableView와의 상호 작용 처리
PyQt6 TableView를 사용하면 셀 선택, 데이터 편집, 이벤트 반응과 같은 테이블과의 사용자 상호 작용을 처리할 수 있습니다. TableView에서 내보낸 신호를 사용자 지정 슬롯에 연결하여 원하는 작업을 수행할 수 있습니다. 다음은 셀 선택 이벤트를 연결하는 예입니다.
# ... previous code ...
def on_cell_selected(index):
row = index.row()
column = index.column()
item = model.item(row, column)
if item is not None:
value = item.text()
print(f"Selected cell value: {value}")
table_view.selectionModel().currentChanged.connect(on_cell_selected)
# ... continue with window setup and execution ...
4. 결론 및 의견
이 글에서는 Python PyQt6 TableView 사용 데이터 표시하기에 대해 살펴보았습니다. 환경을 설정하고 샘플 데이터로 기본 테이블 보기를 만드는 것으로 시작했습니다.
그런 다음 열 너비를 조정하고, 정렬을 활성화하고, 테이블 스타일을 지정하여 테이블 모양을 사용자 지정하는 방법을 배웠습니다. 또한 신호를 사용자 지정 슬롯에 연결하여 셀 선택과 같은 사용자 상호 작용을 처리하는 방법을 탐색했습니다.
[관련글]
[파이썬 (pythoon)] - PyQt6를 사용한 간단한 로그인 프로그램 만들기
[파이썬 (pythoon)] - Python GUI Pyqt6 vs Tkinter vs PySide2
[정보 및 유용한 팁] - 챗GPT 란? (CHAT GPT 사용)
'파이썬 (pythoon)' 카테고리의 다른 글
PyQt6 QML 활용한 크로스 플랫폼 GUI 개발 (0) | 2023.07.03 |
---|---|
PyQt6 GraphicsView 활용 대화형 2D 그래픽 만들기 (0) | 2023.07.02 |
파이썬 pyqt6 팝업 창 만들기 - QMessageBox() (0) | 2023.06.30 |
Python Pygame 사용 똥피하기 게임 만들기 (0) | 2023.06.29 |
파이썬 PyQt6 스타일링 - setStyleSheet (0) | 2023.06.28 |