Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tujuh perpustakaan GUI penting untuk Python, anda mesti mempelajarinya kali ini!

Tujuh perpustakaan GUI penting untuk Python, anda mesti mempelajarinya kali ini!

Python当打之年
Python当打之年ke hadapan
2023-08-10 16:24:294514semak imbas


GUI (antara muka pengguna grafik), seperti namanya, menggunakan grafik untuk memaparkan antara muka operasi komputer, yang lebih mudah dan intuitif.


Sepadan dengannya ialah CUI (Interaksi Pengguna Baris Perintah), yang merupakan operasi baris arahan Dos Ia memerlukan menghafal beberapa arahan yang biasa digunakan Bagi orang biasa, masih sukar untuk belajar mengendalikan Agak tinggi.


GUI yang tampan dan mudah digunakan boleh meningkatkan pengalaman dan kecekapan semua orang.


Sebagai contoh, jika anda ingin membangunkan kalkulator, jika ia hanya tetingkap input dan output program, tidak akan ada pengalaman pengguna.


Jadi ia menjadi perlu untuk membangunkan tetingkap grafik kecil.


Hari ini, Xiao F akan memperkenalkan kepada anda tujuh perpustakaan GUI penting untuk Python, yang setiap satunya berbaloi untuk dipelajari.



01. Dibangunkan oleh Pengkomputeran Riverbank. Dibina pada rangka kerja Qt, ia merupakan rangka kerja merentas platform yang boleh mencipta aplikasi untuk pelbagai platform, termasuk: Unix, Windows dan Mac OS.


PyQt menggabungkan Qt dan Python. Ia bukan sekadar kit alat GUI. Turut disertakan ialah benang, Unicode, ungkapan biasa, pangkalan data SQL, SVG, OpenGL, XML dan pelayar web berciri penuh, serta banyak koleksi widget GUI yang kaya.


Gunakan pip untuk memasangnya.


# 安装PyQt5
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PyQt5


Selepas pemasangan berjaya, berikut ialah contoh mudah 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_())

Keputusan adalah seperti berikut.


Tujuh perpustakaan GUI penting untuk Python, anda mesti mempelajarinya kali ini!


Alamat dokumen:

https://qt/introcomputing. Pautan tutorial:

https://www.guru99.com/pyqt-tutorial.html


🎚


Tkinter ialah salah satu perpustakaan GUI paling popular dalam Python. Disebabkan sintaksnya ringkas dan mudah dipelajari , ia telah menjadi salah satu pilihan pertama untuk GUI pemula pembangunan.


Tkinter menyediakan pelbagai widget seperti label, butang, medan teks, kotak semak dan butang skrol, dll.


Menyokong susun atur Grid (grid) Memandangkan kebanyakan program kami dipaparkan dalam segi empat tepat, malah reka bentuk yang kompleks menjadi lebih mudah untuk dibangunkan.


# 安装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=&#39;#ffffff&#39;, 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()


界面如下。


Tujuh perpustakaan GUI penting untuk Python, anda mesti mempelajarinya kali ini!


Apabila tiada data, klik butang BMI dan akan ada gesaan yang sepadan.


Di bawah ini kami menggunakan data yang betul untuk melihat hasilnya. Senang rasanya menggunakannya.


Tujuh perpustakaan GUI penting untuk Python, anda mesti mempelajarinya kali ini!


03


Kivy是另一个开源的Python库,最大的优点就是可以快速地编写移动应用程序(手机)。


Kivy可以在不同的平台上运行,包括Windows、Mac OS、Linux、Android、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()


结果如下。


Tujuh perpustakaan GUI penting untuk Python, anda mesti mempelajarinya kali ini!



04. wxPython


wxPython是一个跨平台GUI的Python库,可轻松创建功能强大稳定的GUI,毕竟是用C++编写的~


目前,支持Windows,Mac OS X,macOS和Linux。


使用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=&#39;WxPython 窗口&#39;)

init_frame.Show()
myapp.MainLoop()


结果如下。


Tujuh perpustakaan GUI penting untuk Python, anda mesti mempelajarinya kali ini!


Pautan dokumentasi: https://www.wxpython.org/




PySimpleGUI juga rangka kerja GUI berasaskan Python .

GUI tersuai boleh dibuat dengan mudah.


Menggunakan empat rangka kerja GUI paling popular QT, Tkinter, WxPython dan Remi, ia boleh melaksanakan kebanyakan kod sampel dan

mengurangkan kesukaran pembelajaran

.

Remi将应用程序的界面转换为HTML,以便在Web浏览器中呈现。


# 安装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()


结果如下。


Tujuh perpustakaan GUI penting untuk Python, anda mesti mempelajarinya kali ini!


Klik butang OK dan tetingkap hilang.




PyGUI ialah dengan mudah API Rangka kerja GUI yang terkenal mengurangkan jumlah kod antara aplikasi Python dan GUI asas platform.


API ringan, yang boleh menjadikan aplikasi anda berjalan lebih lancar dan lebih pantas.


🎜

Pada masa yang sama, ia juga menyediakan kod sumber terbuka dan projek merentas platform. Pada masa ini dijalankan pada sistem berasaskan Unix, Windows dan Mac OS.


Python2 dan Python3 kedua-duanya disokong.

Alamat dokumen:

https://www.cosc.canterbury.ac.nz/greg.ewing/python_gui/:

https://realpython.com/pysimplegui-python/


07. Pyforms


Pyforms ialah rangka kerja aplikasi merentas platform untuk membangunkan GUI .


Tujuh perpustakaan GUI penting untuk Python, anda mesti mempelajarinya kali ini!

Membenarkan aplikasi berjalan pada desktop, web dan terminal tanpa mengubah suai kod.


# 安装PyFroms
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PyFroms


文档地址:https://pyforms.readthedocs.io/en/v4/


Atas ialah kandungan terperinci Tujuh perpustakaan GUI penting untuk Python, anda mesti mempelajarinya kali ini!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:Python当打之年. Jika ada pelanggaran, sila hubungi admin@php.cn Padam