Проблема типа и кнопки ПОМОГИТЕ

Ananist228

Новичок
Пользователь
Июл 7, 2021
1
0
1
OC:Windows 10
Python 3.9.6

Добрый день, у меня возникла ошибка которую я сам пытаясь решить только обосрался еще больше.На питоне я знаю от силы print("ХЕЛО ВОРЛД").Так что небейте пожалуйста.


Мой код хуеta еще та

from tkinter import *
tk = Tk()

canvas= Canvas(tk,width=500,height=500)
canvas.pack()
from tkinter import colorchooser

c = colorchooser.askcolor()
print(c)
canvas.create_rectangle(150,150,350,350,fill=c[1])
def ch_cl():
c = colorchooser.askcolor()
print(c)
canvas.create_rectangle(150,150,350,350,fill=c[1])
def a1():
b =PhotoImage(file="C:\\Python2\\6.png")
id_img=canvas.create_image(50,30,anchor=NW,image=b[2])
print(id_img)


a= Button(tk, text="Выбери заливку",command=a1)
b= Button(tk, text="Выбери Цвет",command=ch_cl)
b.pack()
a.pack()


Ловлю ошибку:
TypeError: can only concatenate str (not "int") to str
Она выходит при выборе заливки
По логике должно выводится изображение при нажатии на эту кнопку, но так не происходит. Был бы очень рад, если бы мне помогли.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 677
479
83
вы выложили код не как код - подробнее здесь как задать вопрос...
в связи с этим я взял на себя смелость расставить отступы и добавить строчку и ошибки поправить
и получилось вот так...
наверное так хотели...
Python:
from tkinter import *

tk = Tk()

canvas = Canvas(tk, width=500, height=500)
canvas.pack()
from tkinter import colorchooser

c = colorchooser.askcolor()
print(c)
canvas.create_rectangle(150, 150, 350, 350, fill=c[1])


def ch_cl():
    c = colorchooser.askcolor()
    print(c)
    canvas.create_rectangle(150, 150, 350, 350, fill=c[1])


def a1():
    b = PhotoImage(file="C:\\Python2\\6.png ")
    id_img = canvas.create_image(50, 30, anchor=NW, image=b)
    print(id_img)
    canvas.create_rectangle(150, 150, 350, 350, fill=id_img)


a = Button(tk, text="Выбери заливку", command=a1)
b = Button(tk, text="Выбери Цвет", command=ch_cl)
b.pack()
a.pack()

tk.mainloop()
 

Форум IT Специалистов