"PyQt5"의 두 판 사이의 차이

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기
잔글 (→‎Widget)
잔글 (→‎Widget)
64번째 줄: 64번째 줄:
 
  self.tableWidget.resizeColumnsToContents()
 
  self.tableWidget.resizeColumnsToContents()
 
  self.tableWidget.resizeRowsToContents()
 
  self.tableWidget.resizeRowsToContents()
 +
 +
* layout 공통 사항
 +
layout_group.addStretch(1)                        #--- 레이아웃 내부 정렬
 +
layout.setStretchFactor(layout_left, 1)          #--- 레이아웃 상대 크기 지정
 +
layout.setStretchFactor(layout_right, 3)          #--- 레이아웃 상대 크기 지정
  
 
* QVBoxLayout, QHBoxLayout
 
* QVBoxLayout, QHBoxLayout

2018년 7월 12일 (목) 17:28 판

PyQt5를 정리 합니다.

Widget

  • QMainWinow
obj.setGeometry(x, y, width, height)
  • QStatusBar
obj.showMessage(~)
  • QPushButton
obj.move(x, y)
obj.resize(width, height)
obj.clicked.connect(~)
  • QLabel
obj.text()
obj.setText(~)
obj.clear()
  • QLineEdit
obj.textChanged.connect(~)
obj.returnPressed.connect(~)            #--- Enter key 입력시 호출
  • QGroupBox
  • QRadioButton
obj.setChecked(True)
obj.clicked.connect(~)
  • QCheckBox
obj.stateChanged.connect(~)
  • QSpinBox
obj.setMinimum(~)
obj.setSingleStep(~)
obj.setMaximum(~)
obj.valueChanged.connect(~)
  • QTableWidget
self.tableWidget = QTableWidget(self)
self.tableWidget.resize(400, 200)
self.tableWidget.setColumnCount(3)
self.tableWidget.setRowCount(2)

self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)      #--- Read only
header_cols = ['이름', '성별', '나이']
self.tableWidget.setHorizontalHeaderLabels(header_cols)
self.tableWidget.setVerticalHeaderLabels(['이순신', '유관순'])

row = 0
item = QTableWidgetItem("이순신")
item.setTextAlignment(Qt.AlignCenter | Qt.AlignVCenter)
self.tableWidget.setItem(row, 0, item)
self.tableWidget.setItem(row, 1, QTableWidgetItem("남성"))
self.tableWidget.setItem(row, 2, QTableWidgetItem("28"))

row = row + 1
item = QTableWidgetItem("유관순")
item.setTextAlignment(Qt.AlignCenter | Qt.AlignVCenter)
self.tableWidget.setItem(row, 0, item)
self.tableWidget.setItem(row, 1, QTableWidgetItem("여성"))
self.tableWidget.setItem(row, 2, QTableWidgetItem("32"))

self.tableWidget.resizeColumnsToContents()
self.tableWidget.resizeRowsToContents()
  • layout 공통 사항
layout_group.addStretch(1)                        #--- 레이아웃 내부 정렬
layout.setStretchFactor(layout_left, 1)           #--- 레이아웃 상대 크기 지정
layout.setStretchFactor(layout_right, 3)          #--- 레이아웃 상대 크기 지정
  • QVBoxLayout, QHBoxLayout
       self.setCentralWidget(QtWidgets.QWidget(self))

       self.textEdit = QTextEdit()
       self.pushButton = QPushButton('저장')

       layout = QVBoxLayout()
       layout = QHBoxLayout()
       layout.addWidget(self.textEdit)
       layout.addWidget(self.pushButton)
       # self.setLayout(layout)
       self.centralWidget().setLayout(layout)
  • QGridLayout
       self.setCentralWidget(QtWidgets.QWidget(self))

       layout = QGridLayout()
       layout.addWidget(QLabel("아이디"), 0, 0)
       layout.addWidget(QTextEdit(), 0, 1)
       layout.addWidget(QPushButton('로그인'), 0, 2)

       layout.addWidget(QLabel("비밀번호"), 1, 0)
       layout.addWidget(QTextEdit(), 1, 1)

       self.centralWidget().setLayout(layout)

참고 문헌