No Description

vboxlayout.py 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import sys
  2. from PyQt5.QtWidgets import *
  3. from PyQt5.QtCore import *
  4. class MyWindow(QWidget):
  5. def __init__(self):
  6. super().__init__()
  7. self.initUI()
  8. def initUI(self):
  9. self.setWindowTitle('SWH Academy Window.')
  10. self.rows = [
  11. ['1', '코야', '2011.06'],
  12. ['2', '레종', '2013.02'],
  13. ['3', '유키', '2015.10']
  14. ]
  15. headers = ['No.', '이름', '출생일']
  16. centerGeometry = QDesktopWidget().availableGeometry().center()
  17. self.resize(300, 200)
  18. frameGeometry = self.frameGeometry()
  19. frameGeometry.moveCenter(centerGeometry)
  20. self.tableWidget = QTableWidget(self)
  21. self.tableWidget.setRowCount(len(self.rows))
  22. self.tableWidget.setColumnCount(len(headers))
  23. self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)
  24. self.tableWidget.setHorizontalHeaderLabels(headers)
  25. self.setTableWidgetData()
  26. label = QLabel("우리집 고양이", self)
  27. layout = QVBoxLayout()
  28. layout.addWidget(label)
  29. layout.addWidget(self.tableWidget)
  30. self.setLayout(layout)
  31. def setTableWidgetData(self):
  32. for b in range(len(self.rows)):
  33. for c in range(len(self.rows[b])):
  34. item = QTableWidgetItem(self.rows[b][c])
  35. if c == 0:
  36. item.setTextAlignment(Qt.AlignRight)
  37. self.tableWidget.setItem(b, c, item)
  38. self.tableWidget.resizeColumnsToContents()
  39. self.tableWidget.resizeRowsToContents()
  40. if __name__ == "__main__":
  41. app = QApplication(sys.argv)
  42. window = MyWindow()
  43. window.show()
  44. sys.exit(app.exec_())