Hi
ich bin neu hier im Forum hoffe daher das ich nicht das falsche Forum für meine Frage gewählt hab..
Also ich hab ein Fenster mit Python erstellt und ich will das man das Fenster nicht mit der Maus vergrößern kann.
weiß jemand wie das geht?
Danke, Limo
Eine GUI Frage
-
- User
- Beiträge: 6
- Registriert: Sonntag 25. Juni 2006, 14:46
- Wohnort: Berlin
Meine Freundin meint ich sei neugierig... :/
(Das steht jedenfalls in ihrem Tagebuch)
(Das steht jedenfalls in ihrem Tagebuch)
welche gui hast du denn?
-
- User
- Beiträge: 6
- Registriert: Sonntag 25. Juni 2006, 14:46
- Wohnort: Berlin
Ich benutze TK.
Also ich will halt das das Fenster fixiert ist, so wie beim Sound Fenster von Windows z.B.
das muss doch gehen oder?
Also ich will halt das das Fenster fixiert ist, so wie beim Sound Fenster von Windows z.B.
das muss doch gehen oder?
Meine Freundin meint ich sei neugierig... :/
(Das steht jedenfalls in ihrem Tagebuch)
(Das steht jedenfalls in ihrem Tagebuch)
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
...ich habe das Thema mal ins richtige Forum verschoben. 

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
- Mawilo
- User
- Beiträge: 454
- Registriert: Sonntag 22. Februar 2004, 10:58
- Wohnort: Sachsen
- Kontaktdaten:
Hallo,
mit wm_resizable kannst du ein Fenster unveränderbar machen.
Stephan
mit wm_resizable kannst du ein Fenster unveränderbar machen.
Code: Alles auswählen
root = Tk()
root.wm_resizable(0,0)
label = Label(root, text = 'test', width= 50, height = 20)
label.pack(fill=X)
root.mainloop()
-
- User
- Beiträge: 6
- Registriert: Sonntag 25. Juni 2006, 14:46
- Wohnort: Berlin
Aha das klappt ja klasse
Vielen Dank!!!
Doch jetzt hab ich ein 2 Problem, weiß jemand wie ich die länge von einem erzeugtem Button oder Label bestimmen kann?
Angenommen ich hab ein Label mit width= 50 und height = 20 erstellt muss es doch irgendeine Funktion geben damit ich diese Werte abrufen kann, oder?
Wäre dankbar für weitere Hilfe
Limo

Vielen Dank!!!
Doch jetzt hab ich ein 2 Problem, weiß jemand wie ich die länge von einem erzeugtem Button oder Label bestimmen kann?
Angenommen ich hab ein Label mit width= 50 und height = 20 erstellt muss es doch irgendeine Funktion geben damit ich diese Werte abrufen kann, oder?
Wäre dankbar für weitere Hilfe
Limo
Meine Freundin meint ich sei neugierig... :/
(Das steht jedenfalls in ihrem Tagebuch)
(Das steht jedenfalls in ihrem Tagebuch)
- Mawilo
- User
- Beiträge: 454
- Registriert: Sonntag 22. Februar 2004, 10:58
- Wohnort: Sachsen
- Kontaktdaten:
Code: Alles auswählen
from Tkinter import *
root = Tk()
label = Label(root, text= 'Das ist der Text', width= 50, height= 20)
label.pack()
print label['width']
print label['height']
root.mainloop()
-
- User
- Beiträge: 6
- Registriert: Sonntag 25. Juni 2006, 14:46
- Wohnort: Berlin

Ja gut diese möglichkeit es abzurufen funktioniert aber nur wenn ich die Breite oder Höhe einmal bestimmt habe..
Mein Problem ist ich will bestimmte Widgets nicht aus dem Fenster ziehen, daher hab ich das geschrieben:
Code: Alles auswählen
def element_bewegen(self, event):
if self.pressed:
aktx=int(event.x)+int(self.aktElement.place_info()['x'])-self.xEM
akty=int(event.y)+int(self.aktElement.place_info()['y'])-self.yEM
print self.aktElement.cget("width")
print self.aktElement.cget("height")
print self.aktElement
print "xD"
print self.aktElement['width']
breite=self.b
hoehe=self.h
if aktx>0 and akty>0 and aktx<breite and akty<hoehe:
self.aktElement.place_configure(x=aktx,y=akty)
if aktx>0 and akty>0 and aktx<breite and akty<hoehe:
self.aktElement.place_configure(x=aktx,y=akty)
elif aktx>0 and akty<0 and aktx<breite:
self.aktElement.place_configure(x=aktx,y=0)
elif aktx<0 and akty>0 and akty<hoehe:
self.aktElement.place_configure(x=0,y=akty)
elif akty>0 and aktx>breite and akty<hoehe:
self.aktElement.place_configure(x=breite,y=akty)
elif aktx<breite and akty>hoehe and aktx>0:
self.aktElement.place_configure(x=aktx,y=hoehe)
elif aktx<0 and akty<0:
self.aktElement.place_configure(x=0,y=0)
elif aktx>breite and akty<0:
self.aktElement.place_configure(x=breite,y=0)
elif aktx>breite and akty>hoehe:
self.aktElement.place_configure(x=breite,y=hoehe)
elif aktx<0 and akty>hoehe:
self.aktElement.place_configure(x=0,y=hoehe)
else:
pass
Ich habe mir daraufhin gedacht, damit ich das Widget nicht aus dem Fenster schieben kann, prüf ich die Folgende situationen, die oben stehen. Das Problem : wenn der Mauszeiger auf der max.Länge oder Breite ist, ist das Widget zwar noch teils im Fenster aber auch teils draußen, für x<0 und y<0 ist das kein Problem aber die anderen Rnder kann ich schwer eingrenzen..
Also nur damit ihr checked wieso ich grade so dringend die größe eines Widegts brauche..... (Wenn ich diese größe hätte würde ich einfach die Breite aus = Der Breite des Fensters-(die Breite des Widgets-(minus)die Mauscoordinate im Widget ))
ODer gibt es ein Befehl dafür, Widgets nicht aus dem Fenster zu lassen und ich mach einfach alles viel zu Kompliziert?
Brauche Hilfe!
Vielen Dank, Limo
Meine Freundin meint ich sei neugierig... :/
(Das steht jedenfalls in ihrem Tagebuch)
(Das steht jedenfalls in ihrem Tagebuch)
- Mawilo
- User
- Beiträge: 454
- Registriert: Sonntag 22. Februar 2004, 10:58
- Wohnort: Sachsen
- Kontaktdaten:
Hallo,
um die Position eines Widget abzufragen, kannst du wm_geometry() verwenden.
Zu dem Thema kannst du auch hier was nachlesen.
Stephan
um die Position eines Widget abzufragen, kannst du wm_geometry() verwenden.
Code: Alles auswählen
from Tkinter import *
def position():
pos = root.wm_geometry()
print pos
root = Tk()
label = Label(root, text= 'Das ist der Text')
label.pack()
button = Button(root,text= 'Position', command= position)
button.pack()
root.mainloop()
Stephan
-
- User
- Beiträge: 6
- Registriert: Sonntag 25. Juni 2006, 14:46
- Wohnort: Berlin
Leider funktioniert das nur für das Fenster und nicht für den Button =(
Aber ansonsten fast hilfreich
Danke schonmal diese Liste hat viele interessante Befehle.
Limo
Aber ansonsten fast hilfreich

Danke schonmal diese Liste hat viele interessante Befehle.
Limo
Meine Freundin meint ich sei neugierig... :/
(Das steht jedenfalls in ihrem Tagebuch)
(Das steht jedenfalls in ihrem Tagebuch)
-
- User
- Beiträge: 6
- Registriert: Sonntag 25. Juni 2006, 14:46
- Wohnort: Berlin
Code: Alles auswählen
from Tkinter import *
def position():
pos = button.winfo_width()#<---Hier
print pos
root = Tk()
label = Label(root, text= 'Das ist der Text')
label.pack()
button = Button(root,text= 'Position', command= position)
button.pack()
root.mainloop()
Danke vielmals für den Link an Stephan
Meine Freundin meint ich sei neugierig... :/
(Das steht jedenfalls in ihrem Tagebuch)
(Das steht jedenfalls in ihrem Tagebuch)