|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  Raspberry Pi Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  AutoIt (Programación) Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

Raspberry Pi

Tutorial de Rapberry Pi en español.
- Juan Antonio Villalpando -

Volver al índice del tutorial

____________________________

40.- Tkinter.

- Tkinter es una utilidad para crear ventanas, GUI.

- La aplicación Python (IDLE) está creada con Tkinter.

- Cuidado con Tkinter en Pyton 2 y Python 3, ya que algunos comandos no son compatibles, además en Python 2 se importa Tkinter con T mayúscula.

- También debemos tener cuidado con la indentación del texto.

mensaje.py

from tkinter import *
from tkinter import messagebox
 
window = Tk()
window.title("Título de la ventana")
window.geometry('350x200')
 
def clicked():
    messagebox.showinfo('Título', 'Mensaje')
 
boton = Button(window,text='Pulsa', command=clicked)
boton.grid(column=1,row=1)
 
window.mainloop()

 

botones.py

from tkinter import *
 
window = Tk()
window.title("Título de la ventana")
window.geometry('420x250')
 
etiqueta = Label(window, text="Esto es un ejemplo.")
etiqueta.grid(column=0, row=0)
 
def pulsa1():
    etiqueta.configure(text="Pulsado Botón1.")

def pulsa2():
    etiqueta.configure(text="Pulsado Botón2.")
 
boton1 = Button(window, text="Pulsa este Botón.", command=pulsa1)
boton1.grid(column=1, row=1)

boton2 = Button(window, text="Pulsa este Botón.", command=pulsa2)
boton2.grid(column=1, row=2)
 
window.mainloop()

 

seleccion.py

from tkinter import *
from tkinter.ttk import *
 
window = Tk()
window.title("Título de la ventana")
 
seleccion = StringVar()
 
rad1 = Radiobutton(window,text='Rojo', value="R", variable=seleccion)
rad2 = Radiobutton(window,text='Verde', value="V", variable=seleccion)
rad3 = Radiobutton(window,text='Azul', value="A", variable=seleccion)
 
def pulsado():
 
   print(seleccion.get())
 
boton = Button(window, text="Pulsa", command=pulsado)
 
rad1.grid(column=0, row=1)
rad2.grid(column=0, row=3)
rad3.grid(column=0, row=5)
 
boton.grid(column=3, row=7)
 
window.mainloop()

 

scrollvertical.py

from tkinter import *

master = Tk()

scrollbar = Scrollbar(master)
scrollbar.pack(side=RIGHT, fill=Y)

listbox = Listbox(master, yscrollcommand=scrollbar.set)
for i in range(1000):
    listbox.insert(END, str(i))
listbox.pack(side=LEFT, fill=BOTH)

scrollbar.config(command=listbox.yview)

mainloop()					 

 

- Hay muchos tutoriales sobre Tkinter, por ejemplo:

http://www.effbot.org/tkinterbook/

https://likegeeks.com/es/ejemplos-de-la-gui-de-python/#Crear-tu-primera-aplicacion-GUI

https://python-para-impacientes.blogspot.com/2015/12/tkinter-disenando-ventanas-graficas.html

- Ventana de entrada con usuario y clave:

ventana.py

from tkinter import *
from tkinter import ttk, font
import getpass

class Aplicacion():
    def __init__(self):
        self.raiz = Tk()
        self.raiz.title("Acceso")
        fuente = font.Font(weight='bold')  
        self.marco = ttk.Frame(self.raiz, borderwidth=2,relief="raised", padding=(10,10))
        self.etiq1 = ttk.Label(self.marco, text="Usuario:", font=fuente, padding=(5,5))
        self.etiq2 = ttk.Label(self.marco, text="Contraseña:", font=fuente, padding=(5,5))
        self.usuario = StringVar()
        self.clave = StringVar()
        self.usuario.set(getpass.getuser())        
        self.ctext1 = ttk.Entry(self.marco, textvariable=self.usuario, width=30)
        self.ctext2 = ttk.Entry(self.marco, textvariable=self.clave, show="*", width=30)
        self.separ1 = ttk.Separator(self.marco, orient=HORIZONTAL)
        self.boton1 = ttk.Button(self.marco, text="Aceptar", padding=(5,5), command=self.aceptar)
        self.boton2 = ttk.Button(self.marco, text="Cancelar", padding=(5,5), command=quit)
        
        
        self.marco.grid(column=0, row=0, padx=5, pady=5, sticky=(N, S, E, W))
        self.etiq1.grid(column=0, row=0, sticky=(N, S, E, W))
        self.ctext1.grid(column=1, row=0, columnspan=2, sticky=(E, W))
        self.etiq2.grid(column=0, row=1, sticky=(N, S, E, W))
        self.ctext2.grid(column=1, row=1, columnspan=2, sticky=(E, W))
        self.separ1.grid(column=0, row=3, columnspan=3, pady=5, sticky=(N, S, E, W))
        self.boton1.grid(column=1, row=4, padx=5, sticky=(E))
        self.boton2.grid(column=2, row=4, padx=5, sticky=(W))

        self.raiz.columnconfigure(0, weight=1)
        self.raiz.rowconfigure(0, weight=1)
        self.marco.columnconfigure(0, weight=1)
        self.marco.columnconfigure(1, weight=1)
        self.marco.columnconfigure(2, weight=1)
        self.marco.rowconfigure(0, weight=1)
        self.marco.rowconfigure(1, weight=1)
        self.marco.rowconfigure(4, weight=1)
        
        
        self.ctext2.focus_set()
        self.raiz.mainloop()
    
    def aceptar(self):
        if self.clave.get() == 'raspberry':
            print("Acceso permitido")
            print("Usuario:   ", self.ctext1.get())
            print("Contraseña:", self.ctext2.get())
        else:
            print("Acceso denegado")
            self.clave.set("")
            self.ctext2.focus_set()

def main():
    mi_app = Aplicacion()
    return 0

if __name__ == '__main__':
    main()

 

 

Tkinter

___________________________________________________

 

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información