본문 바로가기

프로그래밍 관련/PyQt31

PyQt QLineEdit 키보드 입력값 받기. 입력값 제한하기 (숫자만 넣기,문자만 넣기 등등) 개요 Text Edit 활성화/비활성화/읽기전용 셋팅 관련 메소드들 입력 제한 하기 QLineEdit 관련 이벤트 처리하기(텍스트 변경시 이벤트 발생 등등) 개요 마우스 클릭하면 커서 깜박 거리면서 키보드로 데이터 입력할 수 있는 창 그것을 QLineEidt라고 한다. setText(str) 메소드를 사용해서 text edit에 내용을 유저가 임의로 지정할 수도 있다. text() 메소드를 사용하면 현재 textedit에 입력된 문자열을 출력하고 import sys from PyQt5.QtWidgets import * class MyWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Test") self.setG.. 2021. 12. 4.
PyQt TableWidget (심화2) table pushbutton,combobox 등등 넣기 테이블의 셀에 PushButton, ComboBox,LineEdit 등등 넣기(기본) 테이블의 특정 셀에 존재하는 아이템에 접근 테이블의 셀에 PushButton 넣어서 사용하기(응용,심화) Table에 유저가 데이터 입력할 때, 입력값 제한하기 테이블의 셀에 PushButton, ComboBox,LineEdit 등등 넣기(기본) 여태까지는 셀에 문자열 데이터만 넣어봤는데 셀에다 버튼 등도 넣을 수가 있다. 아래 메소드를 사용하면 된다. def setCellWidget(self, row: int, column: int, widget: QWidget) -> None: ... 참고로, 테이블의 특정 셀에 존재하는 아이템에 접근 할 때 사용하는 메소드가 2개 있는데 def item(self, row: int,.. 2021. 12. 3.
PyQt TableWidget (심화1) Selection Mode에 대하여 현재 선택된 셀의 행번호 혹은 열번호 파악하기 특정 셀 선택해서 삭제하기(문제점 설명) 특정 셀 선택해서 삭제하기(해결책) 특정 셀의 속성 지정하기 (수정불가, 사용불가, 선택불가,drag&drop 불가 등등) (flag와 연관됨) Selection Mode에 대하여 마우스로 테이블을 선택했을 때, 선택되는 대상을 무엇으로 할지 고를 수 있다. 셀을 고르거나, 행을 고르거나, 열을 고르거나 할 수 있다. 아래 보면 이해 될거라 믿는다. def selectionBehavior(self) -> 'QAbstractItemView.SelectionBehavior': ... class SelectionBehavior(int): SelectItems = ... # type: QA.. 2021. 12. 3.
PyQt. TableWidget(기본) Table 기본 형태 생성 행 추가하기 & 추가된 행에 텍스트 채워넣기 테이블의 마지막에 행 한개씩 추가하기 테이블의 마지막에 행 1개씩 추가하기(2) 특정 셀에 접근하기. (해당 셀의 문자열 받아오기, 해당 셀의 문자열 set하기) 아무 것도 추가하지 않은 비어있는 셀에 관해 유의할 점 테이블 행 삭제 테이블 행 전부 삭제 Table 기본 형태 생성 import sys from PyQt5.QtWidgets import * class MyWindow(QMainWindow): def __init__(self): super().__init__() self.setupUI() def setupUI(self): self.setGeometry(800, 200, 600, 300) self.ta1 = QTableWid.. 2021. 12. 3.
PyQt . Context Menu (마우스 우클릭 메뉴 만들기) 4.6 컨텍스트 메뉴 - 공학자를 위한 PySide2 (wikidocs.net) 취미로 하는 프로그래밍 !!! :: PyQt5 -- context menu 사용법 3가지 (QTableWidget 사용함) (tistory.com) 위 두사이트 참고하여 공부해서 정리할 것 context menu란? 마우스 오른쪽 눌렀을 때 저렇게 메뉴 띄우는 기능을 말한다. import sys from PyQt5.QtWidgets import * from PyQt5 import QtCore class MyWindow(QMainWindow): def __init__(self): super().__init__() self.setupUI() def setupUI(self): self.setGeometry(800, 200, 800.. 2021. 12. 2.
PyQt 클래스 상속에 대하여 파이썬. 클래스 상속과 생성자에 대하여. 그리고 super에 대하여 (tistory.com) (위의 글 참고하면 배경지식 습득가능) PyQt 모듈에는 매우 많은 다양한 클래스가 사전에 정의되어있음 이런 클래스에 정의된 메소드 중에, 유저가 메소드 오버라이드를 해서 재정의 해서 써야하는 케이스가 종종있다. 그 경우, PyQt에서 제공하는 클래스를 상속 받아서 임의의 클래스를 만들어야하는데 아래 예시를 보자. QListWidget 클래스를 상속받아서 drop_list 라는 임의의 클래스를 정의하고 있다. class drop_list(QListWidget): def __init__(self,input): super(drop_list,self).__init__(input) #super().__init__(inp.. 2021. 12. 1.
PyQt . Qcombobox 위 그림과 같은 창을 ComboBox라고 부른다. 아래 예시코드. 아래 예시에 있는거 외에도 여러가지 메소드가 있는데 궁금하면 직접 찾아보자. import sys from PyQt5.QtWidgets import * class MyWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Test") self.setGeometry(1000, 200, 700, 300) self.combo = QComboBox(self) self.combo.addItem("Text1") self.combo.addItem("Text2") self.combo.addItem("Text3") # 콤보박스에 선택된 인데스 달라지면 실행되는 func.. 2021. 11. 16.
PyQt.마우스이벤트 pyautogui 마우스제어 PyQt는 아니고 pyautogui라는걸 사용해서 마우스 이동,클릭 등의 제어를 해보자. pyautogui 모듈을 설치하자 pip install pyautogui 상세하게 알고 싶으면 pa 라이브러리 정의돼있는 파일 뜯어서 보면된다. 예시코드 참고 import pyautogui as pa #현재 마우스 좌표 출력 print(pa.position()) print(pa.position().x) print(pa.position().y) #마우스 이동(절대값 위치로 이동) pa.moveTo(100,400) #마우스 이동(현재위치에서 상대적으로 이동) pa.move(100,400) """마우스 클릭 관련 API 원형""" # def click # ( x=None, y=None, clicks=1, interval=.. 2021. 11. 16.
PyQt. 스크롤 관련 스크롤 에어리어. 스크롤 생기냐 안생기냐는 최소길이 설정이 관건. 스크롤 에어리어에 추가된 위젯의 미니멈 사이즈 설정을 한 상태에서 , 메인 윈도우가 그것보다 작아지면 스크롤이 생기는 것임 2021. 11. 9.