[Python] object is not callable

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von Nemesis, 15.02.2010.

  1. #1 Nemesis, 15.02.2010
    Nemesis

    Nemesis N3RD

    Dabei seit:
    28.01.2005
    Beiträge:
    2.165
    Zustimmungen:
    0
    Hi,

    ich möchte in Phyton ein Fenster erzeugen, auf dem ich dann berechnette Daten anzeigen lassen möchte.

    jetzt krieg ich aber ner fehlermeldung und weiss nicht warum:
    Code:
     File "Projects/python-foobar/src/python_foobar.py", line 20, in __init__
        self.canvas = Canvas(Fenster, relief = RIDGE, bd = 2, bg = "white", width = 300, height = 300)
    TypeError: 'module' object is not callable
    
    der Code lautet:
    Code:
    #!/usr/bin/python
    # -*- coding: iso-8859-15 -*-
    
    from Tkinter import *
    import Canvas
    import math				# für die Sinus- und Kosinus-Funktionen
    import sys				# für sys.exit(0)		
    from Tkconstants import *
    
    	
    class Butterfly:
     	
    	def __init__(self, master=None):
    		
    		Fenster=Tk()
    
    		self.label_instanz=Label(Fenster, text="Zeichnung")
    		self.label_instanz.pack()
    		
    [COLOR="Red"]		self.canvas = Canvas(Fenster, relief = RIDGE, bd = 2, bg = "white", width = 300, height = 300)[/COLOR]
    		self.canvas.pack(expand=YES, fill=BOTH)
    		
    		self.button = Button(Fenster, text ="Start", command = draw)
    		self.button.pack(side = BOTTOM, pady = 4)
    
    warum sagt er mir da, dass Canvas nicht aufgerufen werden kann ?

    danke!
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 bytepool, 15.02.2010
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    ich kenne die Lib nicht die du da benutzen willst, aber Canvas ist, so wie es da auch steht, ein Modul, und nicht aufrufbar. Ich vermute du meinst Canvas.Canvas oder so?
    Im uebrigen ist es schlechter Stil 'from foo import *' zu benutzen. In diesem Fall sorgt es, wie so oft, dafuer dass nicht klar ist was was ist.

    mfg,
    bytepool
     
  4. #3 Nemesis, 16.02.2010
    Zuletzt bearbeitet: 16.02.2010
    Nemesis

    Nemesis N3RD

    Dabei seit:
    28.01.2005
    Beiträge:
    2.165
    Zustimmungen:
    0
    wie handelt man dann das import "besser" ? import TKinter ?
    das mit dem canvas habe ich vvon seiten wie z.b. LINK, dort wird es auch so verwendet.

    tante edit sagt:
    wenn ich canvas nicht importiere, dann gehts.
     
  5. #4 bytepool, 16.02.2010
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,
    richtig, und dann entweder mit dem vollen Import Namen arbeiten, oder mit 'as' oder lokalen Variablen. Wenn du z.B. Canvas von TKinter haben willst, waere 'from TKinter import Canvas' angemessener.
    Mit expliziten imports gibt es nie Zweifel woher eine Variable eigentlich gerade kommt, was den Code deutlich lesbarer und verstaendlicher macht.

    Ich sagte auch nicht dass es unueblich ist, sondern dass es schlechter Stil ist. ;)
    Dass es ohne Ende Tutorials mit schlechtem Stil gibt sollte hoffentlich keine Ueberraschung sein.

    mfg,
    bytepool
     
  6. #5 Nemesis, 16.02.2010
    Nemesis

    Nemesis N3RD

    Dabei seit:
    28.01.2005
    Beiträge:
    2.165
    Zustimmungen:
    0
    alles klar, wieder etwas gelernt ;)

    danke !
     
Thema:

[Python] object is not callable

Die Seite wird geladen...

[Python] object is not callable - Ähnliche Themen

  1. [Python]Funktionsaufruf übergibt unbekannten Parameter

    [Python]Funktionsaufruf übergibt unbekannten Parameter: Hi, ich möchte eine Funktion der selben Klasse aufrufen und dabei Werte als Parameter übergeben, also self.<Funktionsname>(Parm1, ..., ParmN)...
  2. [Python]GUI basteln

    [Python]GUI basteln: Hi, ich möchte für ein Python-Programm eine grafische Oberfläche zur Eingabe erstellen, als IDE nutze ich Anjuta. Gibts da auch ne andere...
  3. [Python] Zeitmessung mit timeit

    [Python] Zeitmessung mit timeit: Hi, ich würde gerne messen, wieviel ms eine Funkion in anspruch nimmt. an sich sollte das, wie hier beschrieben mit timeit funktionieren. ich...
  4. [Python] Programm hängt

    [Python] Programm hängt: Hi, mein Programm hängt sich auf, wenn ich es laufen lasse, es lässt sich weder beenden, noch sonst etwas mit sich anstellen. durch...
  5. [python] Einträge in Listen subtrahieren

    [python] Einträge in Listen subtrahieren: Hallo, ich will eine recht einfache Formel in Python umsetzen: delta T = t_(n+1) - t_(n) (Es soll die Differenz zwischen n+1-ten und n-ten Wert...