tkinter, grille et cadre non cadre de redimensionnement

class input_data(Tkinter.Tk):
    def __init__(self):
        Tkinter.Tk.__init__(self);
        self.resizable(width=False,height=False);
        self.geometry('500x500');
        t = ['frame','input_text'];
        for i in t:
            eval('self.'+i+'()');
def frame(self):
    self.f = Tkinter.Frame(self,width=200,height=200,bg='cyan');
    self.f.grid(row=0,column=0);

def input_text(self):
    self.e = Tkinter.Entry(self.f);
    self.e.grid(row=0,column=0);  

root = input_data();
root.mainloop();

le code a l'air bien, mais l'image ne correspond pas à celui indiqué dedida, mais dans le code ci-dessous si vous ne

import Tkinter as tk

class SimpleApp(object):
    def __init__(self, master, **kwargs):
    title = kwargs.pop('title')
    frame = tk.Frame(master, borderwidth=5, bg = 'cyan', **kwargs)
    frame.grid()
    button = tk.Button(frame, text = title)
    button.grid(sticky = tk.SE)
    frame.rowconfigure('all', minsize = 200)
    frame.columnconfigure('all', minsize = 200)

def basic():
    root = tk.Tk()
    app = SimpleApp(root, title = 'Hello, world')
    root.mainloop()
basic()

où je ne suis pas à faire le premier code ne fonctionne pas la largeur et la hauteur

  • Je ne sais pas quelles sont les causes de la question, mais je voudrais remplacert = ['frame, input_text'] avec t = [self.frame, self.input_text] et l'instruction eval avec i(). En outre, vous n'avez pas besoin des points-virgules en python. Il est unpythonic.
  • Votre question est difficile à comprendre. Faire les deux exemples ne fonctionnent pas comme vous le souhaitez, ou seulement le premier?
InformationsquelleAutor Francisco | 2014-02-06