본문 바로가기

프로그래밍 관련/PyQt31

PyQt. 파일 불러오기 창. QFileDialog 1. Default 예시코드 및 개요 파일 Load 하는 기능 QFileDialog 클래스를 사용하면 된다. 일단 기본코드는 아래와 같다. 아래 예시코드에서는 옵션에 대한 선택을 전혀 하지 않은 상태인데, 뒤에서 추가로 설명하겠지만 이것저것 다양한 옵션들이 있음 이 글의 제일 마지막에는 각종 옵션들까지 다 넣은 예시코드를 넣어두었음. import sys from PyQt5.QtWidgets import * class MyWindow(QMainWindow): def __init__(self): super().__init__() self.setupUI() def setupUI(self): self.setGeometry(800, 200, 500, 300) btn1 = QPushButton("load",self.. 2021. 11. 7.
PyQt - QWidget(빈 도화지 만들기) 1. 아무 기능 없는 빈도화지 같은게 Qwidget이다. 우리는 이러한 QWidget 위에 다양한 Widget들을 올려서 사용을 한다. 그리고 이러한 QWidget에 다양한 widget을 집어넣는 방법은 widget을 만들때 해당 Qwidget 객체를 상속받아서 생성하는 것이다. 예시를 보자. import sys from PyQt5.QtWidgets import * class MyWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("PyStock") self.setGeometry(830, 100, 700, 700) widget1=QWidget(self) widget1.setGeometry(100,100,500,50.. 2021. 11. 3.
Pyqt. 탭 위젯.Tab Widget 아래 그림 같은걸 Tab Widget이라고 한다. 우리가 흔히 보는 GUI 중 하나이다. import sys from PyQt5.QtWidgets import * class MyWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Test") self.setGeometry(1000, 200, 700, 700) self.ta1 = QTableWidget(self) self.ta1.resize(400, 500) self.ta1.setColumnCount(3) table_column=["첫번째 열" , "두번째 열" , "Third 열"] self.ta1.setHorizontalHeaderLabels(table_colu.. 2021. 11. 3.
Pyqt.splitter에 대하여 Splitter 기능 화면 쪼개기. 분리하기 1. Splitter 객체 생성 2.addwidget으로 스플릿터에 추가할 위젯들 하나씩 추가 3.setOrientation 메소드로 스플릿을 horizontal로 할건지 vertical로 할건지 결정( Default는 horizontal임) 4.setsize 메소드로 스플릿된 대상들의 사이즈 결정 이때 스플릿 모드가 horizontal이냐 vertical 에 따라 setsize에 들어가는 값이 x축길이. y축길이로 달라짐 예시코드 화면에 스플릿터가 있고 왼쪽에는 텍스트 에디터, 오른쪽에는 트리가 있음 버튼을 누르면 왼쪽의 텍스트 에디터가 열렸다가 /닫혔다가 하는 형태로 구현함 import sys from PyQt5.QtWidgets import * from .. 2021. 11. 1.
PyQt. Drag & Drop에 대하여 Drag Drop은 생각보다 내용이 복잡해서 전체적인 개요를 현재 이해하지 못한 상태다. 일단 아는데까지만 대강 정리한다. 정리한 내용에 오류가 있을 수 있음 내가 내용 파악하는데 진입장벽을 느낀 이유는 Drag & Drop 이 Model/Veiw Programming과 관련이 있기 때문이다. Model/Veiw에 대해서 날 잡아서 한번 하긴 해야되는데 인터넷에 한글로 되어있는 강의들은 대부분 Model/View Programming을 사용하지 않은 예제가 많은것 같다. 사실 Model/View 프로그래밍이 뭔지 아예 아는것이 없어서 뭐라고 이야기 자체를 못하겠다. 내가 자주 사용하는 QTree, QTable 도 보면 QTreeWidget 클래스가 있고 QTreeview 클래스가 있는데 QTreeview.. 2021. 11. 1.
PyQt. QstackedWidget 1. 개요 QStackWidget 이 있고, 그 하위에 Qwidget 들이 여러개 포함되는 형태로 구성됨 똑같은 크기의 도화지에 여러개의 Widget을 전부 쌓아놓고 한번에 1개씩만 유저에게 보여주는 Widget이 stack Widget이다. 2. 하위 page 갯수 늘리기, 순서바꾸기 3. 현재 선택된 page 변경하는 메소드 import sys from PyQt5.QtWidgets import * from PyQt5 import uic #UI파일 연결 #단, UI파일은 Python 코드 파일과 같은 디렉토리에 위치해야한다. form_class = uic.loadUiType("test_stack.ui")[0] #화면을 띄우는데 사용되는 Class 선언 class WindowClass(QMainWindo.. 2021. 10. 31.
PyQt - TreeWidget 1. 위젯관련 공식 레퍼런스 참조 필요한 기능이 있으면 한번 찾아보자. QTreeWidget Class | Qt Widgets 5.15.6 2. 빠른 사용을 위한 샘플코드 QT Designer 안쓴 버전 import sys from PyQt5.QtWidgets import * class MyWindow(QMainWindow): def __init__(self): super().__init__() self.setupUI() def setupUI(self): self.setGeometry(800, 200, 500, 300) #Tree 생성 self.tree = QTreeWidget(self) self.tree.resize(400, 300) self.tree.setColumnCount(4) self.tree... 2021. 10. 21.
PyQt. Qt Designer 개요.사용방법 0.설치cmd 창에서 pip install pyside2 라고 입력한다. pyside2가 설치되면 자동으로 Qt Designer가 컴퓨터에 설치된다. 근데 파이썬 설치 경로에서 찾아야하는데 사람마다 파이썬 설치 경로가 다르고 파이썬 설치경로를 보통 외우고 다니지 않으니까 QtDesigner의 실행파일 이름이 designer.exe 니까 everything 에서 검색해서 찾아쓰도록 하자. 굳이 정확한 위치정보를 알려주자면 아래와 같다.파이썬 설치경로\Python38-32\Lib\site-packages\PySide21.사용법 개요 pyqt 를 설명하는 글에서 기본적인 gui 창을 만들고 버튼 .텍스트창. 라벨 등등을 추가하는 방법 등을 알아보았다. 링크 : pyqt 기본설명 글 gui 를 꾸밀때마다 각 u.. 2021. 10. 19.
PyQt() Keyboard 이벤트, Keyboard인터럽트 pynput 라이브러리 키보드로부터 입력을 받아서 인터럽트를 발생시키고 싶었다. 키보드 인풋을 받아오는 방법은 검색을 해보니 다양한게 나왔는데 일단 PyQt에서 자체적으로 지원하는 keyboad event 핸들러를 사용하는 방법이 있었다. 아래는 PyQt 가 제공하는 키보드 이벤트 핸들러 사용한 예시케이스이다. 1.PyQt가 제공하는 키보드 이벤트 핸들러 사용 import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt class MyWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Test") self.setGeometry(1000, 200, 300, 300) def k.. 2021. 9. 16.