Hi Alle,
ich suche nach einem Modul womit ich in einem Hautpfenster TabWidgets erstellen kann für das Gui Toolkit Tkinter.
Meine suche bracht mich zu "Frame()" und "Canvas", aber diese scheinen nicht direkt das zu sein was ich wollte. Bei canvas müsste ich dann meine Tabwidgets wahrscheinlich selber zeichnen und alle Verhalten selber einstellen.
Gibt es hier nicht schon ein fertiges Gerüst oder eine fertiges Modul?
Kann mir da Jemand einen Tipp geben bitte?
Schön wäre auch ein Link zu einem Tutorial.
Grüsse Markus
Tab Widgets
-
- User
- Beiträge: 419
- Registriert: Sonntag 3. September 2006, 15:11
- Wohnort: in den weiten von NRW
- Kontaktdaten:
Ja, mit Tix geht das, wenn auch am anfang etwas schwierig, weils sich nicht ganz so wie Tkinter "anfühlt".
Wenn du auf Abhängigkeiten verzichten willst und es um die funktion und nicht so aufs Aussehen ankommt, kannst du auch einfach mehrere Frames in ein Frame packen (also nur als master angeben) und über Buttons dann jeweils ein Frame sichtbarmachen.
Wenn du auf Abhängigkeiten verzichten willst und es um die funktion und nicht so aufs Aussehen ankommt, kannst du auch einfach mehrere Frames in ein Frame packen (also nur als master angeben) und über Buttons dann jeweils ein Frame sichtbarmachen.
Hallo,
einleitung....
Schritt1: http://www.python-forum.de/topic-12034. ... light=tile
test..
Gruss
pyStyler
warte mal! Wenns dir nur um Tabs geht, hier bitte.feldmann_markus hat geschrieben:Danke für die Antworten. Ich werde es mir nochmal durch den Kopf gehen lassen. Wahrscheinlich werde ich doch auf Pyqt zurück greifen, da ich zu Qt4 ja auch ein Buch habe.
Grüsse Markus
einleitung....
Schritt1: http://www.python-forum.de/topic-12034. ... light=tile
test..
Code: Alles auswählen
import Tilewrapper
import Tkinter
import tkFont
from Tkconstants import *
class Taschenrechner(Tkinter.Frame):
def __init__(self,master=None):
Tkinter.Frame.__init__(self, master)
self.pack(expand=YES, fill=BOTH)
self.stringvar = Tkinter.StringVar()
self.entry = Tilewrapper.Entry(self,
textvariable=self.stringvar,
font=('tahoma',40,'bold') )
self.entry.pack(side=TOP, expand=NO,
fill=BOTH,
padx=10, pady=10)
for tasten in ('789/', '456*','123-', '.0+='):
self.frame1 = Tkinter.Frame(self)
self.frame1.pack(side=TOP, expand=YES, fill=BOTH, padx=10)
for zeichen in tasten:
self.b = Tilewrapper.Button(self.frame1,
text=zeichen,
command=lambda z=zeichen,
var=self.stringvar, : var.set(var.get() + z))
self.b.pack(side=LEFT, expand=YES, fill=BOTH)
if zeichen == '=':
self.b.configure(command=self.rechnen)
def rechnen(self):
rec = str(eval(self.stringvar.get()))
self.entry.delete(0, END)
self.entry.insert(END, str( rec))
class MainApp:
def __init__(self, parent):
parent.tk.call("package", "require", "tile")
parent.geometry('400x300')
nb = Tilewrapper.Notebook(parent)
nb.pack(expand=YES, fill=BOTH)
t = Taschenrechner(nb)
b1 = Tilewrapper.Button(nb, text="Button1")
b1.pack(padx=10, pady=10)
nb.add(b1, text="Notebook 1")
b2 = Tkinter.Button(nb, text="Button2", bg='blue')
nb.add(b2, text="Notebook 2")
nb.add(t, text='rechner')
def _main():
root = Tkinter.Tk()
main = MainApp(root)
root.mainloop()
if __name__=='__main__':
_main()
pyStyler
Wenn es ohne Zusatzinstallation sein soll:
http://aspn.activestate.com/ASPN/Cookbo ... ipe/188537
Oder die Python Mega Widgets Da die in purem Python geschrieben sind, können sie einfach im gleichen Ordner wie dein Programm liegen.
http://aspn.activestate.com/ASPN/Cookbo ... ipe/188537
Oder die Python Mega Widgets Da die in purem Python geschrieben sind, können sie einfach im gleichen Ordner wie dein Programm liegen.