Objektorientiertes Programmieren Label und Button

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@Sconine:
Nimm ihn doch einfach wieder raus, er zeigt nämlich nicht das, was er vorgibt zu zeigen (Du hast uns da ein "from Tkinter import *" unterschlagen).
Sconine
User
Beiträge: 49
Registriert: Montag 1. Juni 2009, 11:00

Oh man, nu bin ich raus.

Es muss doch vor:
- Button
- Pack
- App
- Frame
- root

tk. stehen. Was ist denn mit der Groß- unnd Kleinschreibung? Brauch ich nur vor den "großen" tk. schreiben oder auch vor den "kleinen"?

Was für eine blöde Frage. Sorry.

Sind denn meine "Kommentare" soweit ok, oder habe ich alles falsch verstanden?
Sconine
User
Beiträge: 49
Registriert: Montag 1. Juni 2009, 11:00

Ach ja, ich habe bestimmt ein tk. irgendwo vergessen oder einen Fehler bei der Groß und Kleinschreibung.

Ich verstehe es mit dem App und app nicht, sowie mit tk und Tk.

Code: Alles auswählen

import Tkinter as tk

#Klasse App wird definiert
class App():  
   
  #Die Buttons werden beschrieben
  def __init__(self,master): 

      #???
      frame = tk.Frame(master) 

      #???
      frame.pack() 

      #Ein Button bekommt den Namen 'Quit' und das ist in rot geschrieben
      #bedeutet command, dass der Befehl von dem Button ausgefürt werden soll?
      #also dass nach dem Betätigen des Buttons das Programm beendet werden soll.
      self.button=tk.Button(frame,text='Quit', fg='red', command=frame.quit) 

      #Quit-Button auf der linken Seite???
      self.button.pack(side=LEFT)  

      #Der andere Button wird beschrieben
      #Wenn der Button betätigt wird, erscheint Mustermann, 12772, da es bei
      #output beschrieben wird.
      self.output=tk.Button(frame,text='Output',command=self.output) 

      #Output-Button auch auf der linken Seite???
      self.output.pack(side=LEFT)
   
  #output wird definiert, damit nach Betätigung des Output-Buttons,
  #der oben definiert wurde, Mustermann und 12772 erscheint
  def output(self):
    
      #Mustermann und 12772 werden rausgegeben
      print 'Mustermann, 12772!'   

tk.root = Tk()

Tk.app = App(root) 

root.mainloop() 
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Lies doch mal diesen Grundlagenartikel zu Tkinter: http://www.ferg.org/thinking_in_tkinter ... grams.html

Nimm dir Zeit dafür, arbeite die Beispiele durch und lass dein Programm erstmal beiseite.
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Ok vllt. hilft Dir kleines sinnfreies Bsp. auf die Sprünge:
haustiere.py

Code: Alles auswählen

from haustier import Haustier
TIERE_DAHEIM = 0

def tier_anschaffen():
    pass

class Hund(Haustier):
    def bellen(self):
        print "WauWau"
Jetzt zu den verschied. Importmöglichkeiten

Code: Alles auswählen

>>> import haustiere
>>> print dir()
['__builtins__', '__doc__', '__name__', '__package__', 'haustiere']
>>> print dir(haustiere)
['Haustier', 'Hund', 'TIERE_DAHEIM', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'tier_anschaffen']
>>> haustier.Hund()
<haustiere.Hund instance at ...>

Code: Alles auswählen

>>> from haustiere import *
>>> print dir()
['Haustier', 'Hund', 'TIERE_DAHEIM', '__builtins__', '__doc__', '__name__', '__package__', 'tier_anschaffen']
>>> Hund()
<haustiere.Hund instance at ...>

Code: Alles auswählen

>>> import haustiere as ht
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'ht']
>>> dir(ht)
['Haustier', 'Hund', 'TIERE_DAHEIM', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'tier_anschaffen']
>>> ht.Hund()
<haustiere.Hund instance at ...>

Code: Alles auswählen

>> import haustiere as DER_NAME_ist_Schall_und_rauch
>>> dir()
['DER_NAME_ist_Schall_und_rauch', '__builtins__', '__doc__', '__name__', '__package__']
>>> dir(DER_NAME_ist_Schall_und_rauch)
['Haustier', 'Hund', 'TIERE_DAHEIM', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'tier_anschaffen']
>>> DER_NAME_ist_Schall_und_rauch.Hund()
<haustiere.Hund instance at ...>

Code: Alles auswählen

>>> from haustiere import Hund
>>> dir()
['Hund', '__builtins__', '__doc__', '__name__', '__package__']
>>> Hund()
<haustiere.Hund instance at ...>
Antworten