소연의_개발일지
article thumbnail

파이큐티 디자인 공부 첫날 기록용

 

참고 강의:

1. Qt Designer - PyQt with Python GUI Programming tutorial

(https://youtu.be/Dmo8eZG5I2w?list=PLg6YRuHszRarIguCVQAdvn0eAKFgR6eQ0)

2. PyQt5 Designer Tutorial Of A Registration Form With Event Handling

(https://youtu.be/6tV6G4JAuSs)

3. 

 

파이큐티 기록용 영상목록:

https://youtube.com/playlist?list=PLg6YRuHszRarIguCVQAdvn0eAKFgR6eQ0 

 

PyQt designer

 

www.youtube.com

 


파이큐티란?

파이큐티는 620개의 클래스와 6000개의 기능이 있다. 모든 주요 운영 체제에서 사용할 수 있는 다중 플랫폼 툴킷이다.

 

 

 

기본 창

파이큐티 기본 창은 이렇게 생겼다. 

 

 

왼쪽 상단의 파일 - 새폼을 누르고 생성을 하면 새로운 폼을 만들 수 있다.

 

 

푸시버튼 / 라벨

왼쪽에 있는 위젯 상자에서 자주 사용하는 것들을 드래그해서 불러올 수 있다.

 

이런식으로 드래그 해서 가져올 수 있다. 크기도 조절할 수 있음

 


객체 확인

 

우측 상단의 객체 탐색기에서 현재 생성된 객체들을 확인할 수 있다.

현재 나는 레이블 1개, 버튼 2개를 생성한 상태이다.

이렇게 클릭하면 우측 상단에서 확인 가능하다.

 

 


폰트 변경

버튼을 클릭하면, 우측에서 해당 객체로 연결된다는 것을 알 수 있다.

폰트나 색상을 변경하고 싶은 경우, 옆에 있는 값에서 변경할 수 있다.

중요한 것은, 생성한 후 이름을 알맞게 변경해 주는게 필요하다. 

 

예를들어, 첫번째 라벨의 폰트 크기를 변경하고 싶다고 했을 때,

라벨을 클릭한 후 -> 우측 속성에 font를 찾고 -> 종류 옆에 ...을 클릭하면 글꼴 선택 창이 뜬다.

여기서 글꼴 크기, 스타일 등 변경이 가능하다. 

 


 

ui 파일 저장하기

왼쪽 상단에 있는 파일 - 저장을 눌러 ui파일을 저장한다.

이때 ctrl + s 를 눌러도 저장이 가능하다.

 

이때 저장된 파일은 데모 도트(demo dot UI) 파일이므로 이것은 인터페이스 또는 창이며

파이큐티 5을 설치해야 실행 후 수정할 수 있다.   

 


완성된 파일 미리보기

 

ctrl + r 을 누르면 완성된 이미지를 미리볼 수 있다.

 

 


 

ui 파일을 사용할수 있게 변경하는 법

PyQt5에서는 pyuic5라는 패키지를 제공하고 있어 .ui파일을 .py로 변경할 수 있다.

참고로 pyuic 설치경로는

C 드라이브 -> User -> " 자신이 설정해놓은 이름 "-> AppData -> Local -> Programs

-> Python -> Python버전명 -> Scripts 내에 존재한다.

 

 

하지만 큐티 디자인에서 바로 저장할 수 있는 방법이 있다.

저장 -> 폼 -> 파이썬 코드 보기 -> 저장할 위치에 저장

 

파이참에서 저장된 파일을 불러오니 생성한 해당 UI파일의 전체 코드를 볼 수 있다.


코드 불러오기

 

상단에 from PyQt5 import uic 를 쓴 뒤

form_class = uic.loadUiType("sample.ui")[0]

class Mywindow(QMainWindow, form_class):
    def __init__(self):
        super().__init__()
        self.setupUi(self)

 

이렇게 코드에 넣어준다.

import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic

form_class = uic.loadUiType("sample.ui")[0]

class Mywindow(QMainWindow, form_class):
    def __init__(self):
        super().__init__()
        self.setupUi(self)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    myWindow = Mywindow()
    myWindow.show()
    app.exec_()

실행하니 잘 작동된다.

중요한 것은 동일한 폴더 안에 ui가 있어야 파일이 동작하는 것이다.

 

profile

소연의_개발일지

@ssoyxon

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!