[pyar] Ayuda con Tkinter y ttk

Carlos Miguel FARIAS carlosmiguelfarias en gmail.com
Sab Jun 9 20:43:51 -03 2018


El treeview no es un contenedor, el scrollbar tiene que ir en su propia
columna del contenedor, en tu caso la pantalla base. Deberías colocarlo en
la columna 1 con los stickys correspondientes, para que se estire
verticalmente.
No hace falta que asignes un columspan al treeview.
Lo que tienes que hacer es configurar las columns del grid de la pantalla
base con el parámetro peso weight, para que, si cambias el ancho de la
pantalla, el treeview se estire horizontalmente y el scrollbar se mantenga
en su ancho normal.
El truco es darle a la columna 0 (donde tienes el treeview) un peso de 999
y a la columna 1 (donde el scrollbar) un peso de 1.
Saludos: Miguel, Santa Rosa (LP)


El sáb., 9 jun. 2018 a las 11:47, Marcelo Bandini (<
marcelo.bandini en gmail.com>) escribió:

> Estimados
>
> Pido disculpas si estoy enviando una consulta al lugar equivocado.
> Estoy aprendiendo Python y a pesar de conocer otros lenguajes orientados a
> objetos, estoy en un callejón sin salida… por lo menos yo no la encuentro.
> En el código que adjunto, estoy tratando de colocar una scrollbar a un
> treeview. Pero cuando lo hago desaparece literalmente el treeview. Si
> comento las lineas del scrollbar el treeview se ve normalmente.
> Alguien podrá ayudarme con esto?
>
> Saludos
>
> from tkinter import *
> from tkinter import ttk
> import mysql.connector
>
> listclient = Tk()
> listclient.title("Listado de Clientes")
> listclient.configure(width = 800,height = 600)
> listclient.resizable(1,1)
>
> query = ("SELECT * FROM Clientes")
> opcionesc1 =
> ["Codigo","Nombre","Apellido","Empresa","CUIT","Telefono","Mail"]
> campo = StringVar(value="Nombre")
> filtro = StringVar(value="")
> cnx = mysql.connector.connect(user='root', password='Franco6022',
> host='127.0.0.1', database='Lauret')
> cursor = cnx.cursor()
> # Cuerpo
>
> browsecli = ttk.Treeview(listclient,
>                              columns =
> ("Codigo","Nombre","Apellido","Empresa","CUIT","Domicilio","Telefono","Mail"),
>             height = 30,
>             displaycolumns =
> ("Codigo","Nombre","Apellido","Empresa","CUIT","Domicilio","Telefono","Mail"),
>             selectmode = "browse",
>             )
> browsecli.grid(row = 0,column = 0, columnspan = 6)
>
> vsb = ttk.Scrollbar(listclient, orient = VERTICAL , command =
> browsecli.yview)
>
>
>
>
> browsecli.column("#0", width = 20)
> browsecli.column("Codigo", width = 50)
> browsecli.column("Nombre", width = 150)
> browsecli.column("Apellido", width = 150)
> browsecli.column("Empresa", width = 150)
> browsecli.column("CUIT", width = 100)
> browsecli.column("Domicilio", width = 150)
> browsecli.column("Telefono", width = 50)
> browsecli.column("Mail", width = 150)
>
> browsecli.heading("#0", option = None, text = "St")
> browsecli.heading("Codigo", option = None, text = "Codigo")
> browsecli.heading("Nombre", option = None, text = "Nombre")
> browsecli.heading("Apellido", option = None, text = "Apellido")
> browsecli.heading("Empresa", option = None, text = "Empresa")
> browsecli.heading("CUIT", option = None, text = "CUIT")
> browsecli.heading("Domicilio", option = None, text = "Domicilio")
> browsecli.heading("Telefono", option = None, text = "Telefono")
> browsecli.heading("Mail", option = None, text = "Mail")
>
> browsecli['yscrollcommand'] = vsb.set
>
> vsb.grid(in_ = browsecli, row=0, column=1,
>           sticky=(N,S)
>          )
>
> cursor.execute(query)
> for Cliente in cursor:
>     browsecli.insert('', 'end', iid=None,values =
> (Cliente[0],Cliente[1],Cliente[2],Cliente[3],Cliente[4],Cliente[6],Cliente[7],Cliente[8]))
> cnx.close()
>
>
>
>
>
> listclient.mainloop()
>
> Marcelo Bandini
> *Socio Gerente*
>
> Tel. (+54) 9 351 5298339
> Facundo Quiroga esq. Curupaiti
> Córdoba - Argentina
> marcelo.bandini en gmail.com
>
>
>
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20180609/61b7413b/attachment-0001.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: xtreme chico firma.jpg
Type: image/jpeg
Size: 7905 bytes
Desc: no disponible
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20180609/61b7413b/attachment-0002.jpg>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: xtreme chico firma.jpg
Type: image/jpeg
Size: 7905 bytes
Desc: no disponible
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20180609/61b7413b/attachment-0003.jpg>


Más información sobre la lista de distribución pyar