als neuling habe ich grad ein riesenproblem, das ich schon laenger nicht geloest bekomme.
(ich hoffe, ich bin hier im korrekten bereich).
ich habe unten meinen code (stark abgespeckt) aufgeführt, der denke ich (zum kopieren) laufbereit ist.
ich benutze windows 8 und python 2.6. damit habe ich mit Tkinter eine kontoverwaltung erstellt, in der man u.a.
ein konto waehlen kann, sich aber auch zusätzlich ueber einen button (konten anzeigen) eine uebersicht der bereits vorhanden konten ausgeben
lassen kann (Kontotabelle, die bei mir auch geordnete Adressen ausgibt). die tabelle wird mit wx.Python erstellt. soweit so gut

wenn man sich also die konten anzeigen lässt, soll man parallel ein konto eingeben können und mit anschliessender bestaetigung soll das tabellenfenster
wieder geschlossen werden.
kann mir jemand von euch helfen, was man da als code eingibt?
hier mein code:
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: utf8 -*-
from Tkinter import *
import tkMessageBox
import ctypes
import pickle
import os
import wx
import wx.grid
from operator import itemgetter, attrgetter, methodcaller
import time
class Verwaltung(object):
def konto(self):
pass
# Tkinter Klasse -----------------------------------------------------------------------------------------------------------------------------
# Fenster: Startbildschirm (Konto waehlen und beenden)---------
def hauptStart():
hfenster = Tk()
hfenster.title('GUI-Verwaltung')
hfenster.geometry('600x400+500+200')
label1 = Label(hfenster,text="' KONTO-VERWALTUNG '", font=('Arial', 10, 'bold underline'))
label1.place(relx=.2, rely=.1, anchor="c")
label4 = Label(hfenster,text='Herzlich willkommen zu DMD-Datasoft \n (...developed by Christian Olling)')
label4.place(relx=.2, rely=.93, anchor="c")
# Tkinter Klasse --------------------------------------------------------------------------------------------------------------------------------------------------------------
# Erstellen der Kontotabelle mit wx.Python -------------------------------------------------------------------------------------------------------------------------------------
wx.SetDefaultPyEncoding("iso-8859-15")
class MyFrame(wx.Frame):
def __init__(
self, parent = None, title = "Example", size = wx.Size(291, 300)):
wx.Frame.__init__(self, parent, -1, title, size = size)
panel = wx.Panel(self)
vbox_main = wx.BoxSizer(wx.VERTICAL)
panel.SetSizer(vbox_main)
grid = wx.grid.Grid(panel)
vbox_main.Add(grid, 1, wx.EXPAND | wx.ALL, 5)
grid.SetColLabelSize(30)
grid.SetRowLabelSize(25)
#--------------------------------------------------------------------------------------------------------------------------------------------------------------------
def onClose(self, event):
""""""
self.Close() # <--- diesen Befehl moechte ich gern ausserhalb dieser Klasse ansprechen (innerhalb der Klasse funktiert
# der, aber wie lautet der ausserhalb der geschuetzten wx.python Klasse???
#--------------------------------------------------------------------------------------------------------------------------------------------------------------------
def daten():
app = wx.PySimpleApp()
f = MyFrame()
f.Center()
f.Show()
app.MainLoop()
# wx.Python Klassenende -------------------------------------------------------------------------------------------------------------------------------------------------------------
# Tkinter Klasse --------------------------------------------------------------------------------------------------------------------------------------------------------------
def kontoWaehlen():
try:
hfenster.destroy()
except:
pass
u5fenster = Tk()
u5fenster.title('GUI-Verwaltung')
u5fenster.geometry('600x300+500+200')
label50 = Label(u5fenster,text="2. 'AUSWAEHLEN EINES KONTOS'", font=('Arial', 10, 'bold underline'))
label50.place(relx=.23, rely=.18, anchor="c")
label51 = Label(u5fenster,text='2.1. Eingeben der zu suchenden Kontonummer', font=('Arial', 9, 'underline'))
label51.place(relx=.28, rely=.31, anchor="c")
label52 = Label(u5fenster,text='Herzlich willkommen zu DMD-Datasoft \n (...developed by Christian Olling)')
label52.place(relx=.2, rely=.91, anchor="c")
label53 = Label(u5fenster, fg="red")
label53.place(relx=.6, rely=.645, anchor="c")
label54 = Label(u5fenster,text='Bitte gib deine Kontonummer ein:')
label54.place(relx=.34, rely=.5, anchor="c")
eingabe54 = Entry(u5fenster)
eingabe54.place(relx=.6, rely=.5, anchor="c")
#----------------------------------------------------------------------------------------------------------------------------------------------
def kontoWahlausgabe():
#Befehl zum Schliessen des Tabellenfensters (nur was???)
#----------------------------------------------------------------------------------------------------------------------------------------------
try:
u5fenster.destroy()
except:
pass
u6fenster = Tk()
u6fenster.title('GUI-Verwaltung')
u6fenster.geometry('600x600+500+150')
label61 = Label(u6fenster,text="2. 'AUSWAEHLEN EINES KONTOS'", font=('Arial', 10, 'bold underline'))
label61.place(relx=.23, rely=.08, anchor="c")
label62 = Label(u6fenster,text='2.2. Ausgeben des gewaehlten Kontos', font=('Arial', 9, 'underline'))
label62.place(relx=.25, rely=.14, anchor="c")
label63 = Label(u6fenster,text='Herzlich willkommen zu DMD-Datasoft \n (...developed by Christian Olling)')
label63.place(relx=.2, rely=.94, anchor="c")
label64 = Label(u6fenster,text='KONTONUMMER:')
label64.place(relx=.47, rely=.2, anchor="e")
label65 = Label(u6fenster,text=('ktoNum'))
label65.place(relx=.49, rely=.2, anchor="w")
label66 = Label(u6fenster,text='VORNAME:')
label66.place(relx=.47, rely=.24, anchor="e")
label67 = Label(u6fenster,text=('vorname'))
label67.place(relx=.49, rely=.24, anchor="w")
label68 = Label(u6fenster,text='NACHNAME:')
label68.place(relx=.47, rely=.28, anchor="e")
label69 = Label(u6fenster,text=('nachname'))
label69.place(relx=.49, rely=.28, anchor="w")
label600 = Label(u6fenster,text='GEBURTSDATUM:')
label600.place(relx=.47, rely=.32, anchor="e")
label601 = Label(u6fenster,text=('gebdat'))
label601.place(relx=.49, rely=.32, anchor="w")
label602 = Label(u6fenster,text='PLZ / WOHNORT:')
label602.place(relx=.47, rely=.36, anchor="e")
label603 = Label(u6fenster,text=('wohnort'))
label603.place(relx=.49, rely=.36, anchor="w")
label604 = Label(u6fenster,text='2.3. Anpassen der Arbeits- und Pausenzeiten', font=('Arial', 9, 'underline'))
label604.place(relx=.29, rely=.43, anchor="c")
label606 = Label(u6fenster,text='ARBEITSSTUNDEN:')
label606.place(relx=.47, rely=.5, anchor="e")
label607 = Label(u6fenster,text=("(Std.)"))
label607.place(relx=.49, rely=.5, anchor="w")
eingabe608 = Entry(u6fenster)
eingabe608.place(relx=.69, rely=.54, anchor="e")
label609 = Label(u6fenster,text=('----->'), fg="red")
label609.place(relx=.705, rely=.54, anchor="w")
label610 = Label(u6fenster,text=('(Bspw.: 8, 8.75, ...)'))
label610.place(relx=.655, rely=.575, anchor="e")
label611 = Label(u6fenster,text=('-------------------------------------------------------------------------------------'))
label611.place(relx=.5, rely=.62, anchor="c")
label612 = Label(u6fenster,text='FRUEHSTUECKSPAUSE:')
label612.place(relx=.47, rely=.66, anchor="e")
label613 = Label(u6fenster,text=('1. Pause'))
label613.place(relx=.49, rely=.66, anchor="w")
label614 = Label(u6fenster,text='MITTAGSPAUSE:')
label614.place(relx=.47, rely=.7, anchor="e")
label615 = Label(u6fenster,text=('2. Pause'))
label615.place(relx=.49, rely=.7, anchor="w")
def speichernWaehlen(ktoNum,vorname,nachname,gebdat,wohnort,ktoStand,erstePause,zweitePause):
print "Diese Funktion nicht weiter beachten :)"
def zurueckStunden():
u8fenster.destroy()
kontoWaehlen()
b_81 = Button(u8fenster, text = 'Zurueck zur Kontoauswahl',command=zurueckStunden)
b_81.place(relx=.77, rely=.74, anchor="c")
b_30 = Button(u7fenster, text = 'Bestaetigen')
b_30.place(relx=.78, rely=.75, anchor="c")
b_u61 = Button(u6fenster, text = 'Bestaetigen!', fg="red")
b_u61.place(relx=.9, rely=.54, anchor="e")
b_u62 = Button(u6fenster, text = 'Pausenzeiten aendern')
b_u62.place(relx=.9, rely=.68, anchor="e")
b_u63 = Button(u6fenster, text = 'Speichern',command=ktoUebergeben)
b_u63.place(relx=.9, rely=.77, anchor="e")
def zurueckWahlausgabe():
u6fenster.destroy()
kontoWaehlen()
b_u64 = Button(u6fenster, text = ' Zurueck ',command=zurueckWahlausgabe)
b_u64.place(relx=.9, rely=.85, anchor="e")
#---------------Button der die Kontotabelle schliessen soll -------------------------------------------------------------------------------------------------------------------
b_u51 = Button(u5fenster, text = 'Bestaetigen',command=kontoWahlausgabe)
b_u51.place(relx=.84, rely=.5, anchor="c")
#-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
b_u52 = Button(u5fenster, text = 'Konten anzeigen',command=daten)
b_u52.place(relx=.84, rely=.35, anchor="c")
def zurueckWaehlen():
u5fenster.destroy()
hauptStart()
b_u52 = Button(u5fenster, text = ' Zurueck ',command=zurueckWaehlen)
b_u52.place(relx=.84, rely=.8, anchor="c")
# Button: Konto waehlen --------------------------------------------
b_h2 = Button(hfenster, text = " KONTO WAEHLEN ",font=('Arial', 10, 'bold'),command=kontoWaehlen)
b_h2.place(relx=.55, rely=.4, anchor="c")
# Button: alles Beenden --------------------------------------------
def beenden():
hfenster.destroy()
b_h4 = Button(hfenster, text = " BEENDEN ",font=('Arial', 10, 'bold'),command=beenden)
b_h4.place(relx=.55, rely=.6, anchor="c")
hfenster.mainloop()
hauptStart()
# Tkinter Klasse --------------------------------------------------------------------------------------------------------------------------------------------------------------
Verwaltung = Verwaltung()
Verwaltung.konto()
ich würde mich sehr über hilfe freuen...