Anaconda 부속의 PyQt5와 QtDesiger로 GUI 작성

소개



프로그램 초보자 & 투고 초보자입니다.
본 기사의 동내용이 Qiita에서 발견되지 않았기 때문에 투고했습니다.

이 기사의 목표



PyQt5와 QtDesiger로 GUI (윈도우) 만들기
버튼을 누르면 "Helloworld"가 표시된다

환경



아나콘다 버전 5.3
Windows10.pro
파이썬 3.5

1단계: 아나콘다로 환경 구축



GUI라는 새로운 create (Python 3.5)
Spyder와 IPython 도입
Spyder에서 QtDesiger로 만든 파일을 실행합니다.



STEP2: QtDesiger의 도입?



QtDesiger로 UI를 만들려면 본체와 PyQt5가 필요합니다.
조속히 설치, ,, 하지 않아도 Anaconda 도입시 함께 들어가 있습니다!
Anaconda를 기본적으로 설치하면 다음 위치에 있어야합니다.
C:\ProgramData\Anaconda3\Library\bin\designer.exe
찾지 못하면 Windows 검색 기능으로 designer.exe를 검색!


STEP3: QtDesiger로 UI 작성



designer.exe를 시작하면 새 대화 상자가 나타납니다.
여기에서 위젯을 선택하고 만들기를 클릭하십시오.


위젯 박스에서 PushButton과 Label을 드래그 앤 드롭
그런 다음 F4를 눌러 신호 슬롯을 편집합니다 (메뉴 바 편집 → 신호 슬롯을 편집해도 OK)
PushButton을 눌러 새 대화 상자에서 click ()를 선택합니다.
양식 편집을 누르고 녹색 + 버튼을 눌러 slot1()을 만들고 선택합니다.


만들면 ↓처럼되면 성공입니다.


그런 다음 저장합니다.
모든 디렉토리와 모든 파일 이름으로 괜찮습니다.
위치: C:\QtUI
파일 이름: test.ui
에서 갔다. 확장자는 ui로 둡니다.

STEP4:UI(.ui)를 .py로 변환



STEP3에서 만든 .ui 파일을 Python에서 사용할 수 있도록 변환합니다.
내 환경이라면 Python의 PATH가 잘 통과하지 않기 때문에 다음과 같은 방법으로 수행합니다.

windows의 명령 쉘 (PowerShell)에서 ui 파일을 저장 한 위치로 들어갑니다.
명령으로 pyuic5를 통해 변환
pyuic5의 위치는 C:\ProgramData\Anaconda3\Library\bin\pyuic5


C:\ProgramData\Anaconda3\Library\bin\pyuic5 -o test.py test.ui

그러면 같은 디렉토리에 출력인 test.py가 만들어져야 합니다.
test.py의 내용은 다음과 같습니다.

파이썬 test.py
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'test.ui'
#
# Created by: PyQt5 UI code generator 5.9.2
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(400, 300)
        self.pushButton = QtWidgets.QPushButton(Form)
        self.pushButton.setGeometry(QtCore.QRect(160, 240, 75, 23))
        self.pushButton.setObjectName("pushButton")
        self.label = QtWidgets.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(40, 60, 321, 171))
        self.label.setObjectName("label")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.pushButton.setText(_translate("Form", "PushButton"))
        self.label.setText(_translate("Form", "TextLabel"))

이 test.py는 편집하지 않습니다!
실행을위한 프로그램 (main.py)을 만들고 거기에서 test.py를 import하고 실행하십시오.

STEP5: Spyder에서 프로그램 작성 및 실행



Spyder에서 실행 프로그램 (main.py)을 만듭니다.
같은 디렉토리에 저장합시다.


파이썬 main.py
# -*- coding: utf-8 -*-
import sys
from PyQt5 import QtWidgets
from test import Ui_Form

class Test(QtWidgets.QDialog):
  def __init__(self,parent=None):
    super(Test, self).__init__(parent)
    self.ui = Ui_Form()
    self.ui.setupUi(self)
  def slot1(self): #イベント処理の関数
    self.ui.label.setText('Hello World!')

if __name__ == '__main__':
  app = QtWidgets.QApplication(sys.argv)
  window = Test()
  window.show()
  sys.exit(app.exec_())

slot1 ()은 Pushbutton을 클릭하면 호출되도록 STEP3에서 설정했습니다.
따라서 다음 흐름에서 표시가 수행됩니다.
Pushbutton을 클릭 → slot1 () → label에 'Hello World!'를 세트한다

그러면 Spyder의 메뉴 바에 있는 실행 버튼으로 main.py를 실행! !


창이 표시되고 PushButton을 누르면 Hello world! 가 표시됩니다

결론



PyQt5는 상용 이용하는 경우는 유료다
개인 이용하는 분에는 문제 없을 것입니다
GUI 프레임워크가 어떤 것이 좋은지 잘 모르겠지만,
직관적으로 만들 수 있는 QtDesigner+QtPy5는 사용하기 쉽다고 느꼈습니다

<참고하신 URL>
~PyQt를 Anaconda3 동봉의 QtDesigner로 만들어 본다~
h tp // // 피네 p ぁ r. 모오. jp / n-i t-sa ry man / 2017/12/28 / pyqt-에서 g r /
~QtDesigner 사용법 입문~
h tp : ///ゔぃゔぃ. dyn dns. rg / t ch / Qt / Qt로하여 g r. HTML

좋은 웹페이지 즐겨찾기