Ich habe ein Problem mit meiner Funktion "draw_pieces()", denn wenn ich meinen Code ausführe, habe ich folgende Fehler: (Ohne "draw_pieces()" funktioniert mein Code)Was bedeutet dieser Attributfehler? 'int' Objekt hat kein Attribut 'Elemente'
_cnfmerge: fallback due to: 'int' object is not iterable
Traceback (most recent call last):
File "C:\Users\Thierry\AppData\Local\Programs\Python\Python35\lib\tkinter\__init__.py", line 102, in _cnfmerge
cnf.update(c)
TypeError: 'int' object is not iterable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Thierry\Desktop\Chess\Chessboard.py", line 31, in <module>
draw_pieces()
File "C:\Users\Thierry\Desktop\Chess\Chessboard.py", line 28, in draw_pieces
canvas.create_image=Canvas(30,30, image=photo, anchor=CENTER, state=NORMAL)
File "C:\Users\Thierry\AppData\Local\Programs\Python\Python35\lib\tkinter\__init__.py", line 2244, in __init__
Widget.__init__(self, master, 'canvas', cnf, kw)
File "C:\Users\Thierry\AppData\Local\Programs\Python\Python35\lib\tkinter\__init__.py", line 2129, in __init__
cnf = _cnfmerge((cnf, kw))
File "C:\Users\Thierry\AppData\Local\Programs\Python\Python35\lib\tkinter\__init__.py", line 105, in _cnfmerge
for k, v in c.items():
AttributeError: 'int' object has no attribute 'items'
Hier ist mein Code:
from tkinter import *
root=Tk()
root.geometry("512x512")
rows = 8
columns = 8
color1 = "#b35821" #Flery Orange
color2 = "#efcb9d" #New Tan
dim_square = 64
canvas=Canvas(root, width=512, height=512)
canvas.pack()
photo=PhotoImage(file="blackk.gif")
def draw_chessboard():
color = color2
for r in range(rows):
color = color1 if color == color2 else color2
for c in range(columns):
x1 = (c * dim_square)
y1 = ((7-r) * dim_square)
x2 = x1 + dim_square
y2 = y1 + dim_square
canvas.create_rectangle(x1, y1, x2, y2, fill=color, tags="area")
color = color1 if color == color2 else color2
def draw_pieces():
canvas.create_image=Canvas(30,30, image=photo, anchor=CENTER, state=NORMAL)
draw_chessboard()
draw_pieces()
root.mainloop()
können Sie mir helfen, dieses Problem beheben? Vielen Dank im Voraus für Ihre Hilfe :).
Bitte den Code anzeigen, wo der Fehler auftritt! Sie haben wahrscheinlich ein "int", wo Sie denken, dass Sie ein Wörterbuch haben. Bitte zeigen Sie den kompletten Traceback, nicht bearbeitete Highlights. – cdarke
Sie sollten das gesamte Traceback (eingerückt durch 4 Leerzeichen) in Ihre Frage kopieren und einfügen. Unabhängig davon ist 'create_image' der Name eines' Canvas'-Widgets _method_, daher ist unklar, was Sie erreichen möchten, indem Sie es durch ein anderes ('Canvas') -Objekt ersetzen. – martineau
Ich möchte nur Stücke auf mein Brett legen. – titi157