python 3+PyQt5+Qt Designer 인터페이스 시각 화 실현
예전 에 Python 창 인터페이스 를 만 들 었 는데 저 는 GUI 창 창 으로 디자인 한 모듈 Tkinter 로 조금씩 두 드 렸 습 니 다.오늘 친구 가 Python 창의 디자인 도구 가 있 느 냐 고 물 었 습 니 다.'마우스 로 끌 면 창 디자인 을 완성 할 수 있 습 니 다.관련 자 료 를 찾 아 봤 는데 과연 좋 은 도구 가 있 습 니 다.Qt Designer.
1.Qt Designer 설치
여기에 두 가 지 를 설치 해 야 합 니 다:PyQt 5 와 PyQt 5-tools:
PyQt 5 설치:CMD 또는 PowerShell 을 열 고 명령 창 에 입력
pip install PyQt5
실행 결 과 는 다음 과 같 습 니 다.PyQt5-tools 설치:CMD 또는 PowerShell 을 열 고 명령 창 에 입력
pip install PyQt5-tools
실행 결 과 는 다음 과 같 습 니 다.2.개발 도구 설정
Qt Designer 를 설치 한 후에 저 희 는 PyCharm 을 이용 하여 인터페이스 개발 을 하고 다음은 Qt 개발 도구 의 설정 을 진행 합 니 다.
PyCharm 에서 순서대로 열기:File→Settings 팝 업 Settings 대화 상자,아래 그림
그리고 다음 그림 의 4 단계 에 따라 Create Tools 대화 창 을 엽 니 다.
여기에 두 개 를 설정 해 야 합 니 다:
(1)QT 시각 화 개발 도 구 를 열기 위해 QTDesigner 를 설정 합 니 다.
다음 그림 은 Name,Program,Working dirctory 에 다음 과 같은 정 보 를 입력 합 니 다.
Name:QTDesigner
Program:D:\ProgramSoftware\Anaconda3\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe
메모:이 경 로 는 Python 설치 경로 아래 Lib\site-packages\\pyqt5도구 폴 더 에
Working dirctory:$FileDir$
(2)Qt Designer 개발 도구 로 생 성 된.ui 파일 을.py 파일 로 변환 하 는 PyUIC 설정
다음 그림 은 Name,Program,Arguments,Working dirctory 에 다음 과 같은 정 보 를 입력 합 니 다.
Name:PyUIC
Program:D:\ProgramSoftware\Anaconda3\Scripts\pyuic5.exe
메모:이 경 로 는 Python 설치 경로 아래 Scripts 폴 더 에 있 습 니 다.
Arguments:$FileName$ -o $FileNameWithoutExtension$.py
Working dirctory:$FileDir$
이로써 설치 와 배치 과정 이 모두 끝 났 으 며 간단 한 사용 튜 토리 얼 을 소개 한다.
3.Qt Designer 디자인 인터페이스 사용
PyCharm 에서 항목 을 만 든 다음"Tools"--"External Tools"--"QTDesinger"를 클릭 하여 QT Desinger 를 엽 니 다.다음 그림:
New Form 대화 상자 에서 Widget 템 플 릿 을 선택 하고 생 성 을 누 르 십시오:
그 다음 에 Qt Designer 메 인 화면 이 나타 나 서 Form 에 각각'Push Button'과'Text Edit'을 끌 어 옵 니 다.다음 그림 과 같 습 니 다.
클릭 이벤트 및 응답 함수 지정
도구 모음 에서 이 아이콘 을 누 르 십시오. ,그리고 커서 를"PushButton"단추 로 이동 하고 마우스 왼쪽 단 추 를 누 르 십시오. "PushButton"단 추 를 누 르 면 놓 지 말고 커서 를 단추 옆 에 있 는 어느 위치 로 드래그 한 후 마우스 왼쪽 단 추 를 놓 습 니 다.
그 다음 에 다음 화면 이 나 타 났 습 니 다.대화 상자 왼쪽 에'clicked()'를 선택 하고 오른쪽 에'Edit'을 클릭 합 니 다.
그리고 녹색"+"단 추 를 누 르 면 click 이벤트 의 응답 함 수 를 지정 합 니 다.이름 은 마음대로 입 니 다.예 를 들 어 저 는"pushbutton"이 라 고 명명 합 니 다.click()”
(우 리 는 이벤트 와 응답 함수 의 관련 관 계 를 지정 할 뿐 함수 가 아직 실현 되 지 않 았 습 니 다.뒤에서 우 리 는 스스로 실현 합 니 다)
마지막 으로 디자인 된 인 터 페 이 스 를 저장 합 니 다.
4.PyUIC 를 사용 하여 파일 을 python 코드 로 변환
QT Designer 를 닫 고 PyCharm 으로 돌아 가 항목 을 보면 방금 저 장 된 PyQT 만 볼 수 있 습 니 다.Form.ui 파일 과 이 파일 은 PyCharm 에서 열 수 없습니다.이 파일 을.py 코드 로 변환 해 야 사용 할 수 있 습 니 다.
선택"PyQTForm",위 에서 마우스 우 클릭 으로"External Tools"에서"PyUIC"를 누 르 십시오.
그 다음 에 프로젝트 파일 을 보면'PyQT'를 하나 더 볼 수 있 습 니 다.Form.py"를 두 번 눌 러 다음 과 같은 내용 을 봅 니 다.
5.논리 코드 작성
인터페이스 와 업무 논리 분리 실현:이 단 계 는 주로 업무 논 리 를 실현 합 니 다.즉,로그 인 과 종료 단 추 를 누 른 후에 프로그램 이 실행 할 작업 입 니 다.후속 유지보수 의 편 의 를 위해 인터페이스 와 업무 논 리 를 분리 하여 실현 한다.메 인 프로그램 을 만 들 고 인터페이스 파일 을 호출 하 는 방식 으로 이 루어 진 것 이다.이것 은 두 가지 장점 이 있다.1.바로 논리 가 명확 하 다 는 것 이다.2.후속 적 으로 인터페이스 나 논리 가 변경 되 어야 유지 할 수 있 습 니 다..py 파일 프로그램 을 새로 만 들 고 하위 클래스 를 만 듭 니 다(MyPyQTForm)계승 PyQTForm.py 의 UiForm。구체 적 인 코드 는 다음 과 같다.
import sys
from PyQt5 import QtWidgets
from PyQT_Form import Ui_Form
class MyPyQT_Form(QtWidgets.QWidget,Ui_Form):
def __init__(self):
super(MyPyQT_Form,self).__init__()
self.setupUi(self)
# pushButton_click() ,textEdit id
def pushButton_click(self):
self.textEdit.setText(" ")
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
my_pyqt_form = MyPyQT_Form()
my_pyqt_form.show()
sys.exit(app.exec_())
6.운행이로써 우 리 는 마침내 첫 번 째 Python 인터페이스의 디자인 을 완성 했다. . z Z,실행 효 과 는 다음 과 같 습 니 다.
참고 자료:
https://www.cnblogs.com/lsdb/p/9121903.html
https://www.cnblogs.com/lsdb/p/9122425.html
https://www.jb51.net/article/167015.htm
python 3+PyQt 5+Qt Designer 가 인터페이스 시각 화 를 실현 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 python 3 인터페이스 시각 화 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Jupyter 공식 DockerHub에 대한 메모에 기재되어 있다. base-notebook minimal-notebook scipy-notebook tensorflow-notebook datascience-notebook pyspark-notebook all-s...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.