hi.
ihr kennt doch sicher diese kleinen beigen kästchen mit einem erklärendem text, die neben der maus erscheinen, wenn man über eine bestimmte stelllt in der GUI mit der Maus fährt.
in der VCL bei Delphi heißt es Hint, und wie bei Tkinter?
oder gibts das gar nicht??
mfg
Olf
Tkinter und Hints
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Hi DER Olf,
dafür brauchst Du Pmw (Python Mega Widgets).
Hier mal ein 2-Teiliges Beispiel:
tkbeispielGUI.py
tkbeispiel.py
Gruß
Dookie
dafür brauchst Du Pmw (Python Mega Widgets).
Hier mal ein 2-Teiliges Beispiel:
tkbeispielGUI.py
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
from Tkinter import *
import Pmw
noop = lambda *args: None #dummyfunktion
class MyGUI(object):
def __init__(self, handlers):
self.handlers = handlers
self._buildgui()
def _buildgui(self):
self.root = Tk()
Pmw.initialise(self.root)
self.statusvar = StringVar(self.root)
self.statusvar.trace_variable("w", self.handlers.get("handle_status", noop))
self.button1 = Button(self.root, text=" 1 ", command=self.handlers.get("handle_button1",noop))
self.button1.pack()
# Hint fuer Button1
self.hint1 = Pmw.Balloon(self.button1)
self.hint1.bind(self.button1, "Button 1")
self.button2 = Button(self.root, text=" 2 ", command=self.handlers.get("handle_button2",noop))
self.button2.pack()
# Hint fuer Button2
self.hint2 = Pmw.Balloon(self.button2)
self.hint2.bind(self.button2, "Button2")
self.entry = Entry(self.root, width=20, textvariable=self.statusvar)
self.entry.pack()
def mainloop(self):
self.root.mainloop()
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
from tkbeispielGUI import *
def do_button1():
myGUI.statusvar.set("Button 1 angeklickt")
print "Button 1"
def do_button2():
myGUI.statusvar.set("Button 2 angeklickt")
print "Button 2"
def do_status(*args):
print "Neuer Status = %s" % myGUI.statusvar.get()
handler_dict = {
"handle_button1" : do_button1,
"handle_button2" : do_button2,
"handle_status" : do_status
}
myGUI = MyGUI(handler_dict)
myGUI.mainloop()
Gruß
Dookie