Directorio de artículos
Desarrollo de GUI
Tkinter
Una herramienta ligera de desarrollo de interfaz gráfica de usuario (GUI) multiplataforma. Es la biblioteca estándar oficial que viene con Python. Se puede usar directamente después de instalar Python. Nuestro Python IDLE común se implementa mediante TKinter.
PyQt
QT es un marco multiplataforma escrito en C ++. Esta es una biblioteca muy completa.
PyQt es la versión Python de la biblioteca Qt. Tiene más de 300 categorías y casi 6000 funciones y métodos. Es un conjunto de herramientas multiplataforma que puede ejecutarse en todos los principales sistemas operativos, incluidos UNIX, Windows y Mac. PyQt utiliza licencias duales y los desarrolladores pueden elegir entre GPL y licencias comerciales. Antes de esto, la versión GPL solo se puede usar en Unix. A partir de la versión 4 de PyQt, la licencia GPL se puede usar en todas las plataformas compatibles.
El mayor beneficio de QT es que tiene unDiseñador de QTEste diseñador puede facilitar el diseño de nuestra página,Se puede decir que en Tkinter, necesitas mucho código para completar el diseño de la página, y solo necesitas arrastrar el control en QT para obtenerlo.
wxPython
wxPython es un software de código abierto, una excelente biblioteca de gráficos GUI del lenguaje Python, que permite a los programadores de Python crear fácilmente una interfaz de usuario GUI completa y funcional.
wxPython es de código abierto y gratuito, es compatible con LINUX y WINDOWS, tiene una buena localización de interfaz y funciones completas.También proporciona un wxFormbuilder de diseño similar a QT Designer, que se puede decir que es una versión comprimida de QT.
Uno, etiqueta de etiqueta
El código es el siguiente (ejemplo):
import tkinter as tk
#生成tk界面 app即主窗口
app = tk.Tk()
#修改窗口titile
app.title('pyhton开发基础')
#Label标签
#第一个参数是指附着的界面 调用pack函数显示
#无参数pack是top布局 使用side参数进行改变
tk.Label(app,text="这是我第一个Python界面").pack(side=tk.LEFT)
#进行消息处理的循环
app.mainloop()
En segundo lugar, la etiqueta del botón
3. Haga clic en el botón para que aparezca un mensaje.
El código es el siguiente (ejemplo):
Use el comando de parámetro para llamar a la función say_hi
import tkinter.messagebox as messagebox
def say_hi():
messagebox.showinfo("打招呼","同学你好!")
tk.Button(app,text='打招呼',command=say_hi).pack(side=tk.LEFT)
tk.Button(app,text='打招呼').pack(side=tk.LEFT)
Cuatro, marco de marco
El papel de Frame: se puede imaginar como una cuerda para operar todos los controles en la ventana al mismo tiempo
4.1 lado 与 expandir
Contrasta con el primer parámetro que es app.
#生成tk界面 app即主窗口
app = tk.Tk()
F1 = tk.Frame(app)
#修改窗口titile
app.title('pyhton开发基础')
#Label标签
#第一个参数是指附着的界面 调用pack函数显示
#无参数pack是top布局 使用side参数进行改变
tk.Label(F1,text="这是我第一个Python界面").pack(side=tk.TOP)
tk.Label(F1,text="这是我第一个\nPython界面",bg='red',fg='white').pack(side=tk.TOP)
#Button标签
tk.Button(F1,text='打招呼',command=say_hi).pack(side=tk.TOP)
tk.Button(F1,text='打招呼').pack(side=tk.TOP)
F1.pack(side=tk.LEFT)
#expand打开则side无效
F1.pack(side=tk.LEFT,expand=tk.YES,fill=tk.BOTH)
Nota: Después de cerrar la expansión, el lado y el relleno también pueden entrar en conflicto. Cuando ocurre un conflicto, la dirección del lado predeterminada es válida
#expand关闭(则fill=tk.X也失效)则side有效
F1.pack(side=tk.LEFT,expand=tk.NO,fill=tk.X)
F1.pack(side=tk.TOP,expand=tk.NO,fill=tk.X)
4.2 llenar
#为了更好的展示效果使用背景green
F1 = tk.Frame(app,bg='green')
F1.pack(expand=tk.YES,fill=tk.NONE)
F1.pack(expand=tk.YES,fill=tk.X)
F1.pack(expand=tk.YES,fill=tk.Y)
F1.pack(expand=tk.YES,fill=tk.BOTH)
Cinco, diseño
Arriba sondiseño del paquete (diseño direccional), También haydiseño de cuadrícula
F2 = tk.Frame(app,bg='red')
tk.Button(F2,text="A",width=5).grid(row=0,column=0)
tk.Button(F2,text="B",width=5).grid(row=0,column=1)
tk.Button(F2,text="C",width=5).grid(row=0,column=2)
tk.Button(F2,text="D",width=5).grid(row=0,column=3)
tk.Button(F2,text="A",width=5).grid(row=1,column=0)
tk.Button(F2,text="B",width=5).grid(row=1,column=1)
tk.Button(F2,text="C",width=5).grid(row=2,column=2)
tk.Button(F2,text="D",width=5).grid(row=3,column=3)
F2.pack()
para resumir
También soy la primera vez que he estado expuesto a la programación de TkinterGUI El siguiente artículo implementa un pequeño software de escritorio de encuestas basado en Tkinter.