import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import * class MyWindow(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle('SWH Academy Window.') self.rows = [ ['1', '코야', '2011.06'], ['2', '레종', '2013.02'], ['3', '유키', '2015.10'] ] headers = ['No.', '이름', '출생일'] centerGeometry = QDesktopWidget().availableGeometry().center() self.resize(300, 200) frameGeometry = self.frameGeometry() frameGeometry.moveCenter(centerGeometry) self.tableWidget = QTableWidget(self) self.tableWidget.setRowCount(len(self.rows)) self.tableWidget.setColumnCount(len(headers)) self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers) self.tableWidget.setHorizontalHeaderLabels(headers) self.setTableWidgetData() label = QLabel("우리집 고양이", self) layout = QVBoxLayout() layout.addWidget(label) layout.addWidget(self.tableWidget) self.setLayout(layout) def setTableWidgetData(self): for b in range(len(self.rows)): for c in range(len(self.rows[b])): item = QTableWidgetItem(self.rows[b][c]) if c == 0: item.setTextAlignment(Qt.AlignRight) self.tableWidget.setItem(b, c, item) self.tableWidget.resizeColumnsToContents() self.tableWidget.resizeRowsToContents() if __name__ == "__main__": app = QApplication(sys.argv) window = MyWindow() window.show() sys.exit(app.exec_())