Tkinter de Python para el desarrollo de GUI


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()

Inserte la descripción de la imagen aquí


En segundo lugar, la etiqueta del botón

Inserte la descripción de la imagen aquí


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)

Inserte la descripción de la imagen aquí

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)

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

#expand打开则side无效
F1.pack(side=tk.LEFT,expand=tk.YES,fill=tk.BOTH)

Inserte la descripción de la imagen aquí
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)

Inserte la descripción de la imagen aquí

F1.pack(side=tk.TOP,expand=tk.NO,fill=tk.X)

Inserte la descripción de la imagen aquí

4.2 llenar

#为了更好的展示效果使用背景green
F1 = tk.Frame(app,bg='green')
F1.pack(expand=tk.YES,fill=tk.NONE)

Inserte la descripción de la imagen aquí

F1.pack(expand=tk.YES,fill=tk.X)

Inserte la descripción de la imagen aquí

F1.pack(expand=tk.YES,fill=tk.Y)

Inserte la descripción de la imagen aquí

F1.pack(expand=tk.YES,fill=tk.BOTH)

Inserte la descripción de la imagen aquí

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()

Inserte la descripción de la imagen aquí

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.

Supongo que te gusta

Origin blog.csdn.net/HG0724/article/details/112248635
Recomendado
Clasificación