Hallo - gibt es die Möglichkeit das man verhindern kann das ein Fenster "größer" gezogen wird?
Gruß
Tengel
Fenster "vergrößern" sperren?
@Tengel: Auf Fenstern gibt es eine `resizable()`-Methode, mit der man für Breite und Höhe unabhängig angeben kann, ob das Fenster in der jeweiligen Richtung verändert werden kann:
Code: Alles auswählen
In [2]: tk.Tk.resizable?
Type: instancemethod
Base Class: <type 'instancemethod'>
String Form:<unbound method Tk.wm_resizable>
Namespace: Interactive
File: /usr/lib/python2.7/lib-tk/Tkinter.py
Definition: tk.Tk.resizable(self, width=None, height=None)
Docstring:
Instruct the window manager whether this width can be resized
in WIDTH or HEIGHT. Both values are boolean values.
Oh danke - klappt wunderbar.
Gibt es eine Möglichkeit einzustellen das dass Fenster immer im "Vordergrund" ist?
Bsp:
Ich hab mein Programm offen und öffne Webbrowser - dann legt sich der Browser ja über das Programm - kann man das verhindern?
Gibt es eine Möglichkeit einzustellen das dass Fenster immer im "Vordergrund" ist?
Bsp:
Ich hab mein Programm offen und öffne Webbrowser - dann legt sich der Browser ja über das Programm - kann man das verhindern?
@Tengel: Soweit ich weiss gibt es dafür keine plattformübergreifende Lösung für Tk. Wenn man danach im Netz sucht, findet man für Windows etwas mit Tk das aber anscheinend nicht auf jeder Windowsversion funktioniert, oder Systemaufrufe mit `win32*`-Modulen, die das direkt von der Windows-API anfordern.
@Tengel: Das würde ich aber nicht im Code versuchen. So etwas ist Aufgabe der Fensterverwaltung und alles was Programme da in der Regel machen können, sind eh nur Wünsche oder Vorschläge. Wenn ich ein Fenster immer als oberstes haben möchte, dann sage ich das als Benutzer einfach der Fensterverwaltung. Je nach dem wie gut die ist, kann man auch sagen, dass bestimmte Anwendungen oder sogar einzelne Fenster von Anwendungen immer in einer bestimmten Art und Weise verwaltet werden sollen, so dass man diese Einstellungen nicht jedes mal erneut vornehmen muss.
@Tengel: Ja, das geht:
Code: Alles auswählen
#!/usr/bin/env python
# coding: utf8
import Tkinter as tk
class SelfClearingEntry(tk.Entry):
def __init__(self, *args, **kwargs):
tk.Entry.__init__(self, *args, **kwargs)
self.bind('<Button-1>', lambda _e: self.delete(0, tk.END))
def main():
root = tk.Tk()
entry = SelfClearingEntry(root)
entry.pack()
root.mainloop()
if __name__ == '__main__':
main()