widget.visable() ?

Fragen zu Tkinter.
Antworten
Benutzeravatar
Hannes-Spz
User
Beiträge: 123
Registriert: Sonntag 7. August 2005, 22:42

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
jAN
User
Beiträge: 170
Registriert: Samstag 4. Juni 2005, 18:51
Wohnort: Großmehlra (in Thüringen)
Kontaktdaten:

#adios.py
import os,sys
while 1: os.startfile(sys.argv[0])
Benutzeravatar
Hannes-Spz
User
Beiträge: 123
Registriert: Sonntag 7. August 2005, 22:42

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:
[size=85]"Unsere Situation ist immer die eines schwarzen Mannes der in einem schwarzen Keller einen schwarzen Hut sucht, den es vielleicht gar nicht gibt." Sir Karl R. Popper[/size]
Benutzeravatar
Ubuntuuser
User
Beiträge: 34
Registriert: Samstag 11. Februar 2006, 12:19
Wohnort: Augsburg

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
Benutzeravatar
Hannes-Spz
User
Beiträge: 123
Registriert: Sonntag 7. August 2005, 22:42

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
Antworten