Mit anderen dateien "Reden"

Fragen zu Tkinter.
Antworten
Vos
User
Beiträge: 40
Registriert: Freitag 24. März 2006, 13:37

Sonntag 21. Mai 2006, 11:09

Hallo!
Also so langsam komm ich mit python klar!
Mein neustes problem wo ich nirgendwo etwas zu gefunde habe ist volgendes:

ich habe 2 Datei:

die erst verkürzte ich from Tkinter import ect sowas las ich weg!

Code: Alles auswählen

#Haupt.py
...
textfenster = ScrolledText(F, width=30)
textfenster.pack()

def evSpeichern():
         

bSpeichern = Button(fButtons, text="Speichern",width=8, height=1, command=evSpeichern)
bSpeichern.pack(padx=3, pady=3)
...

Code: Alles auswählen

#Aufgabe.py
class Unter:
      def dSpeichern():
            
so was mächte machen.

Ich möchte eine Speicherfuntkion schreiben und diese auch in eine andere datei paken da ich sie von mehrern putton benutzten möchte.

Die speicherfuntkion wäre kein problem und auch das speichern in eine datei is klar! doch nur wenn dies auch in der HAUPT.py ständ.

Wie können die 2 Dateien komunizieren? Muss ich dazu eine Globale Variable erstellen? Den wenn ich in Aufgabe.py textfenster.get() benutzte funktioniert dies natürlich nich!

später möchte ich auf die selbe art es so machen das ich anstadt eine Speichre klasse habe eine einfügen datei wo ich zb ein entry habe und wie schicke ich dies dan zurück ins haupt.py?

Vielen dank schonmal ich hoffe ihr versteht was ich meine!

Grüße

Vos
Benutzeravatar
SigMA
User
Beiträge: 181
Registriert: Sonntag 4. April 2004, 13:27
Wohnort: Freiburg
Kontaktdaten:

Sonntag 21. Mai 2006, 17:26

Wenn ich dein Problem richtig verstanden habe sollte es so gehen!

Du machst dir ne Datei "brabbel.py" in die du deine Speichern und laden Funktion reinlegst:

Code: Alles auswählen

def speicher(datei):
  # Hier speichert er alles

def laden(datei):
  # Hier lädt er
  return(geladendes)
In der Main datei machst du es dann wie folgt

Code: Alles auswählen

from brabbel import *
# Damit haste die Funktionen drinne

# Wenn du was speichern willst
speicher("ülülülülülülü")
# und wenn du wieder laden willst
geladendes = load("ülülülülülülülülü")
mfg
SigMA
Leichtdio.de - Das Kreativ-Blog
http://www.leichtdio.de
Vos
User
Beiträge: 40
Registriert: Freitag 24. März 2006, 13:37

Samstag 27. Mai 2006, 13:05

Nein so mein ich nich! Hab mal ein beispielprogi gemacht! Is nicht das beste python...

Also ich hab ein widget mit 1 Button und 1 Scrolltext

Code: Alles auswählen

#Haupt.py
from Tkinter import*
from ScrolledText import *
from Klassen1 import*

top = Tk()
top.wm_geometry("500x500")
top.title("HTML-Editor")

F = Frame(top)
F.pack(expand="true") 

unter = Anweisung() #Instance von Klasse1
def evSpeichern():
        unter.Speichern()

ScrollMitte = Frame(F, border=1)
haupt = ScrolledText(ScrollMitte, width=90)
haupt.pack()
ScrollMitte.pack(side="top", expand="true")

fButtonUnten = Frame(F, border=1)
bSpeichern = Button(fButtonUnten, text="Speichern",width=8, height=1, command=evSpeichern)
bSpeichern.pack(side="top", padx=6, pady=6)
fButtonUnten.pack(side="top", expand="true")

F.mainloop()

Code: Alles auswählen

#Klasse1.py
from Tkinter import*
class Anweisung:
	def Speichern(self):
		top = Tk()
		top.wm_geometry("300x200")
		top.title("Speichern")

		F = Frame(top)
		F.pack(expand="true") 
#also ab ihr is mein problem wie bekomme ich jetzt den
#ihnhalt in eine Variable meinetwegen text. einfach haupt.get() geht ja nicht!
		def evSpeichern(): 
			text=haupt.get()
			print text
		fButtons = Frame(F, border=1)
		bAbbrechen = Button(fButtons, text="Abbrechen",width=8, height=1, command=top.destroy)
		bAbbrechen.pack(side="left", padx=6, pady=6)
		
		bSpeichern = Button(fButtons, text="Speichern",width=8, height=1, command=evSpeichern)
		bSpeichern.pack(side="left", padx=6, pady=6)
		fButtons.pack(side="top", expand="true")

		F.mainloop()
Antworten