Seite 1 von 1

widget.visable() ?

Verfasst: Samstag 3. Juni 2006, 20:06
von Hannes-Spz
gibt es eine möglichkeit, mit der man ein widget (tkinter) auf invisable setzen kann?
vl. durch ein attribut oder eine funktion?
oder muss man es dafür immer wieder zerstören und neu aufbauen?? :cry:
danke im voraus und liebe grüße
hannes

Verfasst: Samstag 3. Juni 2006, 21:36
von jAN

Verfasst: Samstag 3. Juni 2006, 22:05
von Hannes-Spz
hmm.. danke, jan,
aber das hat mir nicht wirklich geholfen..!

ich wollte eher sowas wie in vpython, dass man einfach mal kurz auf einen button klickt und dieser dann das objekt verschwinden lässt...
so ähnlich würde es aussehen, wenn man das ganze in einem Tk-Visual-Gemisch erstellen würde...:

Code: Alles auswählen

from visual import *
from Tkinter import *
r = ring(pos=(1,1,1), axis=(0,1,0), radius=0.5, thickness=0.1)

def confi(event = None):
    r.radius = 1+int(sc.get())
    print r.radius
    if r.visible == 0:
        r.visible = 1
    else: r.visible = 0

root = Tk()
sc = Scale(root, to = 3, command = confi)
sc.pack()
mainloop()
aber ich will das ganze nun auf ein frame anwenden, sodass es dann so aussehen müsste:

Code: Alles auswählen

myFrame = Frame(root); myFrame.visible = 0
gibt es sowas?
(wenn ich es in deinen links überlesen haben sollte, dann entschuldige bitte.. :roll: ) ansonsten:

hide

Verfasst: Sonntag 4. Juni 2006, 02:27
von Ubuntuuser
habe das hier mal anhand von einem Beispiel dargestellt
sieht dann so aus...

Code: Alles auswählen

from Tkinter import *

def hide():
    main.geometry("200x300")
    window_one.pack_forget()
    window_two.pack()
    
def show():
    main.geometry("200x300")
    window_one.pack()
    window_two.pack_forget()


main = Tk()
main.title("Hide")
main.resizable(0,0)
main.geometry("200x300")
window_one=Frame(main,width="200",height="300",bg="black")
info=Label(window_one,width="200",height="120",bg="black",
               fg="green",
               text="Beispiel wie man ein Frame versteckt \nindem man mit \n pack_forget()\n das Widget versteckt").pack()
window_one.pack()
window_two=Frame(main,width="200",height="300",bg="white",cursor="X_cursor")
info=Label(window_two,width="200",height="120",bg="white",
               fg="black",
               text="Man sieht, es klappt...").pack()
window_two.pack()
hide=Button(text="hide",command=hide,bg="green",fg="black").place(x=50,y=10)
show=Button(text="show",command=show,bg="green",fg="black").place(x=120,y=10)

main.mainloop()
mfg Ubuntuuser

Verfasst: Sonntag 4. Juni 2006, 09:17
von Hannes-Spz
autsch, ist das peinlich... :cry:
muss es einfach überlesen haben - war ja auch schon spät..
wie auch immer:
tausend dank an euch!
liebe grüße
hannes