PyQt5 - QTableWidget(테이블 위젯) 사용하기
본문 바로가기
파이썬(Python)/파이썬 GUI(PyQt5 & tkinter)

PyQt5 - QTableWidget(테이블 위젯) 사용하기

by 만초손겸수익 2020. 12. 13.

PyQt5를 사용하여 TableWidget을 사용하는 방법입니다.

 

import sys

from PyQt5.QtWidgets import *

 

필요한 모듈을 임포트 합니다.

 

class TestWindow(QMainWindow):

    def __init__(self):

        super().__init__()

        self.setupUI()

 

QMainWindow를 상속받아 TestWindow 클래스를 만듭니다.

 

 def setupUI(self):

        self.setWindowTitle('TestWindow')

 

        self.tableWidget = QTableWidget(self)

        self.tableWidget.resize(400,300)

        self.tableWidget.setRowCount(2)

        self.tableWidget.setColumnCount(2)

 

        self.tableWidget.setItem(00, QTableWidgetItem('(0,0)'))

        self.tableWidget.setItem(01, QTableWidgetItem('(0,1)'))

        self.tableWidget.setItem(10, QTableWidgetItem('(1,0)'))

        self.tableWidget.setItem(11, QTableWidgetItem('(1,1)'))

 

윈도우 및 테이블위젯을 만들어 줍니다.

 

2행 2열로 만들고, 

 

self.tableWidget.setItem(00, QTableWidgetItem('(0,0)')) 처럼 각 위젯에 아이템값을 설정합니다.

 

if __name__=='__main__':

    app = QApplication(sys.argv)

    window = TestWindow()

    window.show()

    app.exec_()

 

루프를 만들어서 위젯이 계속 뜨게 합니다.

 

※ 간단히 설명했는데, 혹시 자세한 설명이 필요하시면 이전 포스트를 참고하시기 바랍니다. 조금 더 자세히 나름대로 작성했습니다.

 

전체 코드는 아래와 같습니다.

 

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
import sys
from PyQt5.QtWidgets import *
 
class TestWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setupUI()
 
    def setupUI(self):
        self.setWindowTitle('TestWindow')
 
        self.tableWidget = QTableWidget(self)
        self.tableWidget.resize(400,300)
        self.tableWidget.setRowCount(2)
        self.tableWidget.setColumnCount(2)
 
        self.tableWidget.setItem(00, QTableWidgetItem('(0,0)'))
        self.tableWidget.setItem(01, QTableWidgetItem('(0,1)'))
        self.tableWidget.setItem(10, QTableWidgetItem('(1,0)'))
        self.tableWidget.setItem(11, QTableWidgetItem('(1,1)'))
 
if __name__=='__main__':
    app = QApplication(sys.argv)
    window = TestWindow()
    window.show()
    app.exec_()
cs

 

실행을 하면 아래와 같은 창이 뜹니다.

 

728x90
반응형

댓글