파 이 썬 에 꼭 필요 한 GUI 라 이브 러 리 7 개
이에 대응 하 는 것 은 CUI(명령 행 사용자 상호작용)이다.흔히 볼 수 있 는 Dos 명령 행 조작 이 므 로 자주 사용 하 는 명령 을 기억 해 야 한다.일반인 에 게 조작 하면 학습 난이도 가 매우 높다.
보기 좋 고 쓰기 좋 은 GUI 는 여러분 의 사용 체험 을 크게 향상 시 키 고 효율 을 높 일 수 있 습 니 다.
예 를 들 어 계산 기 를 개발 하고 싶 습 니 다.프로그램 입력,출력 창 만 있 으 면 사용자 체험 이 없습니다.
그래서 이미지 화 된 작은 창 을 개발 하 는 것 이 필요 하 다.
오늘 은 파 이 썬 에 꼭 필요 한 GUI 라 이브 러 리 7 개 를 소개 합 니 다.하나하나 배 울 만 한 가치 가 있 습 니 다.
01. PyQt5
PyQt 5 는 리 버 뱅 크 컴 퓨 팅 이 개발 했다.Qt 프레임 워 크 를 바탕 으로 구축 되 고 크로스 플랫폼 프레임 워 크 로 각종 플랫폼 에 응용 프로그램 을 만 들 수 있 습 니 다.이 는 유 닉 스,Windows,Mac OS 를 포함 합 니 다.
PyQt 는 Qt 와 Python 을 결합 합 니 다.그것 은 단지 GUI 공구 꾸러미 가 아니다.스 레 드,유 니 코드,정규 표현 식,SQL 데이터베이스,SVG,OpenGL,XML 과 기능 이 완 선 된 웹 브 라 우 저,그리고 다양한 GUI 위 젯 집합 도 포함 되 어 있다.
pip 로 설치 해 주세요.
# PyQt5
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PyQt5
설치 에 성공 하면 Hello Word 의 간단 한 예 시 를 보 여 줍 니 다.
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout
# application
app = QApplication(sys.argv)
#
w = QWidget()
#
w.resize(500, 500)
#
w.layout = QVBoxLayout()
w.label = QLabel("Hello World!")
w.label.setStyleSheet("font-size:25px;margin-left:155px;")
w.setWindowTitle("PyQt5 ")
w.layout.addWidget(w.label)
w.setLayout(w.layout)
#
w.show()
#
sys.exit(app.exec_())
결 과 는 다음 과 같다.문서 주소:
https://riverbankcomputing.com/software/pyqt/intro
튜 토리 얼 링크:
https://www.guru99.com/pyqt-tutorial.html
02. Tkinter
Tkinter 는 Python 에서 가장 인기 있 는 GUI 라 이브 러 리 중 하나 입 니 다.간단 하고 배우 기 쉬 운 문법 때문에 GUI 개발 초보 자의 첫 번 째 선택 중 하나 가 되 었 다.
Tkinter 는 태그,단추,텍스트 필드,체크 상자,스크롤 단추 등 다양한 위 젯 을 제공 합 니 다.
Grid(격자)레이아웃 을 지원 합 니 다.프로그램 대부분이 사각형 으로 표시 되 기 때문에 복잡 한 디자인 이라도 개발 이 간단 해 집 니 다.
# tkinter
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tkinter
다음은 Tkinter 를 이용 하여 BMI 계산 기 를 설계 합 니 다.무게 와 높이 를 입력 하고 팝 업 상자 에서 BMI 계 수 를 출력 으로 되 돌려 줍 니 다.
from tkinter import *
from tkinter import messagebox
def get_height():
# (cm)
height = float(ENTRY2.get())
return height
def get_weight():
# (kg)
weight = float(ENTRY1.get())
return weight
def calculate_bmi():
# BMI
try:
height = get_height()
weight = get_weight()
height = height / 100.0
bmi = weight / (height ** 2)
except ZeroDivisionError:
messagebox.showinfo(" ", " !!")
except ValueError:
messagebox.showinfo(" ", " !")
else:
messagebox.showinfo(" BMI : ", bmi)
if __name__ == '__main__':
# object, TOP
TOP = Tk()
TOP.bind("<Return>", calculate_bmi)
# ( * )
TOP.geometry("400x400")
#
TOP.configure(background="#8c52ff")
#
TOP.title("BMI ")
TOP.resizable(width=False, height=False)
LABLE = Label(TOP, bg="#8c52ff", fg="#ffffff", text=" BMI ", font=("Helvetica", 15, "bold"), pady=10)
LABLE.place(x=55, y=0)
LABLE1 = Label(TOP, bg="#ffffff", text=" ( :kg):", bd=6,
font=("Helvetica", 10, "bold"), pady=5)
LABLE1.place(x=55, y=60)
ENTRY1 = Entry(TOP, bd=8, width=10, font="Roboto 11")
ENTRY1.place(x=240, y=60)
LABLE2 = Label(TOP, bg="#ffffff", text=" ( :cm):", bd=6,
font=("Helvetica", 10, "bold"), pady=5)
LABLE2.place(x=55, y=121)
ENTRY2 = Entry(TOP, bd=8, width=10, font="Roboto 11")
ENTRY2.place(x=240, y=121)
BUTTON = Button(bg="#000000", fg='#ffffff', bd=12, text="BMI", padx=33, pady=10, command=calculate_bmi,
font=("Helvetica", 20, "bold"))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=115, y=250)
TOP.mainloop()
화면 은 아래 와 같다.데이터 가 없 을 때 BMI 버튼 을 누 르 면 이에 대응 하 는 알림 이 있 습 니 다.
다음은 정확 한 데 이 터 를 사용 하여 결 과 를 보 겠 습 니 다.
사용 해 보 니 괜 찮 은 것 같 아 요.
03. Kivy
키 비 는 또 다른 오픈 소스 파 이 썬 라 이브 러 리 로,가장 큰 장점 은 모 바 일 애플 리 케 이 션(모 바 일)을 빠르게 작성 할 수 있다 는 것 이다.
키 비 는 윈도,맥 OS,리 눅 스,안 드 로 이 드,iOS,크 랜 베 리 파 이 를 포함 한 다양한 플랫폼 에서 실행 할 수 있다.
이외에 도 무료 로 사용 해 MIT 허 가 를 받 았 다.
# kivy
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple kivy
Kivy 기반 Hello World 창
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
return Button(text=" Hello Kivy World ")
TestApp().run()
결 과 는 다음 과 같다.04. wxPython
wxPython 은 크로스 플랫폼 GUI 의 Python 라 이브 러 리 로 강력 하고 안정 적 인 기능 을 가 진 GUI 를 쉽게 만 들 수 있 습 니 다.C++로 작 성 된 것 이기 때 문 입 니 다~
현재 윈도,맥 OS X,맥 OS,리 눅 스 를 지원 합 니 다.
wxPython 을 사용 하여 만 든 프로그램(GUI)은 모든 플랫폼 에서 원본 모양 을 가지 고 있 습 니 다.
# wxPython
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple wxPython
다음은 wxPython 을 사용 하여 기본 GUI 예제 를 만 듭 니 다.
import wx
myapp = wx.App()
init_frame = wx.Frame(parent=None, title='WxPython ')
init_frame.Show()
myapp.MainLoop()
결 과 는 다음 과 같다.문서 링크:https://www.wxpython.org/
05. PySimpleGUI
PySimple GUI 도 Python 기반 GUI 프레임 워 크 입 니 다.사용자 정의 GUI 를 손 쉽게 만 들 수 있다.
가장 유행 하 는 GUI 프레임 워 크 QT,Tkinter,WxPython,Remi 네 가 지 를 적용 해 대부분의 샘플 코드 를 구현 할 수 있어 학습 난이 도 를 낮 췄 다.
Remi 는 웹 브 라 우 저 에 표시 할 수 있 도록 프로그램의 인 터 페 이 스 를 HTML 로 변환 합 니 다.
# PySimpleGUI
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PySimpleGUI
다음은 간단 한 사례 다.
import PySimpleGUI as sg
layout = [[sg.Text(" PySimpleGUI")], [sg.Button("OK")]]
window = sg.Window(" ", layout)
while True:
event, values = window.read()
if event == "OK" or event == sg.WIN_CLOSED:
break
window.close()
결 과 는 다음 과 같다.OK 버튼 을 누 르 면 창 이 사라 집 니 다.
06. PyGUI
PyGUI 는 간단 한 API 로 유명한 GUI 프레임 워 크 로 Python 애플 리 케 이 션 과 플랫폼 바 텀 GUI 간 의 코드 양 을 줄인다.
경량급 API 는 프로그램 을 더욱 원활 하고 빠르게 실행 할 수 있 습 니 다.
또한 소스 코드,크로스 플랫폼 프로젝트 도 오픈 합 니 다.현재 유 닉 스 기반 시스템,윈도,맥 OS 에서 실행 할 수 있 습 니 다.
Python 2 와 Python 3 는 모두 지원 할 수 있 습 니 다.
문서 주소:
https://www.cosc.canterbury.ac.nz/greg.ewing/python_gui/
튜 토리 얼 링크:
https://realpython.com/pysimplegui-python/
07. Pyforms
Pyforms 는 GUI 애플 리 케 이 션 개발 을 위 한 크로스 플랫폼 프레임 워 크 입 니 다.
pyforms 는 Python 2.7/3.x 크로스 환경 그래 픽 응용 개발 프레임 워 크 로 모듈 화 와 코드 재 활용 은 많은 작업 을 절약 할 수 있 습 니 다.
코드 를 수정 하지 않 아 도 데스크 톱,웹,터미널 에서 프로그램 이 실 행 될 수 있 도록 합 니 다.
# PyFroms
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PyFroms
문서 주소:https://pyforms.readthedocs.io/en/v4/항목 주소:
링크:https://pan.baidu.com/s/1bSeDjNGWEia7xw5c1zpsYg 비밀번호:aw5m
이상 은 7 개의 Python 에 필요 한 GUI 라 이브 러 리 의 상세 한 내용 입 니 다.python gui 라 이브 러 리 에 관 한 자 료 는 다른 관련 글 을 주목 하 세 요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.