python-3.x - instalar - tkinter python 3 install
Nuevo tutorial sobre tkinter y ttk para Python 3 (4)
He encontrado que el tutorial de TkDocs es muy útil. Describe la construcción de interfaces Tk
usando Python y Tkinter
y ttk
y toma notas sobre las diferencias entre Python 2 y 3. También tiene ejemplos en Perl, Ruby y Tcl, ya que el objetivo es enseñar Tk, no las vinculaciones para un idioma en particular.
No he estudiado todo el asunto de principio a fin, sino que solo he usado una serie de temas como ejemplos de cosas en las que me he quedado atrapado, pero es muy instructivo y está escrito cómodamente. Hoy, al leer la introducción y las primeras secciones, creo que comenzaré a trabajar en el resto.
Finalmente, es actual y el sitio tiene un aspecto muy agradable. También tiene muchas otras páginas que vale la pena visitar (Widgets, Recursos, Blog). Este tipo está haciendo mucho no solo para enseñar Tk, sino también para mejorar la comprensión de las personas de que no era la bestia fea que alguna vez fue.
No es realmente fresco, pero esto es conciso, y por lo que he visto válido para Python 2 y 3.
Recomiendo la referencia de NMT Tkinter 8.5 .
- Widgets temáticos
- Personalizar y crear temas y estilos de ttk
- Encontrar y usar temas
- Uso y personalización de estilos ttk
- La capa de elemento ttk
Los nombres de los módulos utilizados en algunos ejemplos son los utilizados en Python 2.7.
Aquí hay una referencia para los cambios de nombre en Python 3: link
Una de las comodidades de ttk es que puedes elegir un preexistente tema ,
que es un conjunto completo de estilos aplicados a los widgets ttk .
Aquí hay un ejemplo que escribí (para Python 3) que le permite seleccionar cualquier tema disponible de un Combobox :
import random
import tkinter
from tkinter import ttk
from tkinter import messagebox
class App(object):
def __init__(self):
self.root = tkinter.Tk()
self.style = ttk.Style()
available_themes = self.style.theme_names()
random_theme = random.choice(available_themes)
self.style.theme_use(random_theme)
self.root.title(random_theme)
frm = ttk.Frame(self.root)
frm.pack(expand=True, fill=''both'')
# create a Combobox with themes to choose from
self.combo = ttk.Combobox(frm, values=available_themes)
self.combo.pack(padx=32, pady=8)
# make the Enter key change the style
self.combo.bind(''<Return>'', self.change_style)
# make a Button to change the style
button = ttk.Button(frm, text=''OK'')
button[''command''] = self.change_style
button.pack(pady=8)
def change_style(self, event=None):
"""set the Style to the content of the Combobox"""
content = self.combo.get()
try:
self.style.theme_use(content)
except tkinter.TclError as err:
messagebox.showerror(''Error'', err)
else:
self.root.title(content)
app = App()
app.root.mainloop()
Nota al margen: me he dado cuenta de que hay un tema ''vista'' disponible cuando se usa Python 3.3 (pero no 2.7).
Recomiendo leer la documentation . Es simple y autoritativo, y bueno para principiantes.