본문 바로가기

프로그래밍

Pyqt 문법 정리

반응형

 

UI 컴포넌트  기능  예제 
콤보박스 아이템 추가

mycom = QComboBox()
mycom.addItems(["aa", "dd", "kk"])
mycom.additem("a")

현재 인덱스 설정  mycom.setCurrentIndex(int_index)
기본 선택 mycom.setChecked(True)
선택된 항목의 텍스트 반환 mycom.currentText()
라디오 버튼 버튼 클릭 이벤트 / 
버튼 체크 여부


myrdo.clicked.connect(self.rdofunc):
  if self.myrdo.isChecked() : print("checked")

테이블 셀 값 추가/조회

self.table.setItem(row,col,QTableWidgetItem("value"))
 self.table.item(row,col)


셀 컴포넌트 삽입/조회 

self.table.setCellWidget(row, col, mycom)
self.table.CellWidget(row, col)


행 삽입/삭제

1. 정해진 자리에 삽입
  self.table.insertRow(index)
2. 맨 뒤에 추가
  row_count = self.table.rowCount()
  self.table.setRowCount(row_count+1)



self.table.removeRow(index)

셀 클릭, 더블클릭 이벤트: 
클릭한 셀의 텍스트 반환


self.table.cellClicked.connect(self.expandShipments)
self.table.cellDoubleClicked.connect(self.expandShipments)
def expandShipments(self, row, col):
            item = self.table.item(row, col)
print(item.text()) 

현재 선택된 셀/
셀의 행 반환


cell = self.table.currentItem()
 cell_row = self.table.currentRow()

열 너비 자동 조절 self.table.setSizeAdjustPolicy(QAbstractScrollArea.AdjustToContents)
 self.table.resizeColumnsToContents()
프로그레스바 값 설정/조회

self.progressBar.setValue(int_value)
 self.progressBar.value()

기타 메시지 박스 QMessageBox.information(self, 'title', 'content')
파일 다이얼로그
title = "select a file", path = './'  
file_name = QFileDialog.getOpenFileName(self, title, path, filter="Text (*.txt);; All files (*.*)")[0]
또는
options = QFileDialog.Options()
options |= QFileDialog.ShowDirsOnly
working_path = QFileDialog.getExistingDirectory(self,"select Directory")
창 닫기 이벤트 re = QMessageBox.question(self, "종료", "설정 값을 저장하시겠습니까?",
QMessageBox.Yes|QMessageBox.No)

if re == QMessageBox.Yes:
# code
QCloseEvent.accept()
창 크기 고정 self.setFixedSize(800, 341)
signal-slot 함수에  삽입 but.clicked.connect(lambda: self.but_func("param1","param2"))



 

반응형

'프로그래밍' 카테고리의 다른 글

이클립스 디버깅  (0) 2021.01.10
Python 문법 정리  (0) 2020.11.10
Pyqt 설치 및 동작  (0) 2020.10.26
KoNLPy(코엔엘파이) 설치하기  (0) 2020.07.22
안드로이드 스튜디오와 스마트폰 USB 연결하기  (0) 2020.01.06