Mensajes: 155
Temas: 57
Registro en: Jan 2018
Reputación:
0
Hola Francisco, hola gente, ¿cómo están?, creo que en largo enunciado está la consulta.
Lo que ocurre es que en la mayoría de videos/tutoriales desaconsejan mezclar los métodos
de posicionamiento y no logro con el método grid redimensionar el frame y la ventana
raíz conjuntamente.-
Código: import tkinter as tk
from tkinter import ttk
def main():
root = tk.Tk()
root.title(" Marco")
root.geometry("+500+300")
cuadro = tk.Frame(root, width=480, height=320, bd=10, relief="sunken")
cuadro.pack(fill="both", expand=1)
root.mainloop()
if __name__ == '__main__':
main()
PD: En otro post hice una consulta similar y dije que había encontrado la solución poniendo
los widget en un marco lo que ocurre es que era con el método pack() y los botones con grid()
Slds. Daniel ☕☕☕
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
Mensajes: 1.305
Temas: 3
Registro en: Feb 2016
Reputación:
71
Hola, Daniel, ¿cómo estás?
Debería ser así con grid():
Código: import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.title("Marco")
root.geometry("+500+300")
cuadro = tk.Frame(root, width=480, height=320, bd=10, relief="sunken")
cuadro.grid(column=0, row=0, sticky="nsew")
root.columnconfigure(0, weight=1)
root.rowconfigure(0, weight=1)
root.mainloop()
Las explicaciones de los métodos columnconfigure(), rowconfigure() y el argumento sticky están en este artículo: Posicionar elementos en Tcl/Tk (tkinter).
Saludos
Mensajes: 155
Temas: 57
Registro en: Jan 2018
Reputación:
0
Hola Francisco. Estoy muy bien, te dejo mi nuevo código para que
me digas si el botón también debería agrandarse/achicarse o sus
dimensiones siempre son estáticas.-
Otra cosita, tenía noción de columnconfigure(), rowconfigure() pero
creí que con ponerlo en el Frame bastaba, ¿tengo que poner los 2
métodos por cada fila/columna que cree?
Código: #!/usr/bin/env python
# -*- coding: utf-8 -*-
import tkinter as tk
from tkinter import ttk, font
def main():
root = tk.Tk()
root.title("Marco")
root.geometry("+500+300")
cuadro = tk.Frame(root, width=480, height=320, bd=5, relief="sunken")
cuadro.grid(row=0, column=0, sticky="nsew")
root.columnconfigure(0, weight=1)
root.rowconfigure(0, weight=1)
botonUno = ttk.Button(cuadro, text="Buscar")
botonDos = ttk.Button(cuadro, text="Cerrar")
botonUno.grid(row=0, column=0, ipady=10)
botonDos.grid(row=0, column=1, ipady=10)
cuadro.columnconfigure(0, weight=1)
cuadro.rowconfigure(0, weight=1)
cuadro.columnconfigure(1, weight=1)
root.mainloop()
if __name__ == '__main__':
main()
Que tengan todos un bello bello martes.
Slds. Daniel ☕☕☕
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
Mensajes: 1.305
Temas: 3
Registro en: Feb 2016
Reputación:
71
Hola, Daniel.
Si querés que los botones también se expandan en lugar de quedar en el centro, debés indicar en qué direcciones debe expandirse ("nsew" indica todas las direcciones) vía sticky:
Código: botonUno.grid(row=0, column=0, ipady=10, sticky="nsew")
botonDos.grid(row=0, column=1, ipady=10, sticky="nsew")
En cuanto a column/rowconfigure(), sí, hay que especificarlo por cada columna y fila creada (en caso de que queramos que se expanda).
Saludos
Mensajes: 155
Temas: 57
Registro en: Jan 2018
Reputación:
0
Hola Francisco, muy buen día, gracias gracias ahora si todo
funciona como lo esperado, gracias...
Slds. Daniel ☕☕☕
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
|