как соединить canvas и menu в tkinter?Python Чтобы canvа(холст) был в середине на окне tkinter ,а menu был сверху (не как кнопка) как мне нужно изменить код?
Невірний синтаксис для функції mainloop(), тому що він повинен бути викликаний на об'єкті root: root.mainloop().
Відсутня кома в списку кольорів, яка призводить до помилки синтаксису.
Неправильний синтаксис функції create_oval() замість create_oval(x, y, x+r, y+r).
Назва функції створення м'яча збігається з назвою самого м'яча, тому що це приведе до помилок виконання. Потрібно змінити назву функції на щось інше, наприклад create_ball().
Answers & Comments
Verified answer
Ответ:
import random
from tkinter import *
root = Tk()
root.geometry("1000x1000")
main_menu = Menu(root)
root.config(menu=main_menu)
file_menu = Menu(main_menu, tearoff=0)
file_menu.add_command(label="0 ігор/0 нас")
file_menu.add_command(label="Kax wгparь?")
main_menu.add_cascade(label="can", menu=file_menu)
root.title("noймañ apex")
c = Canvas(root, width=300, height=300, bg='white')
p = Canvas(root, width=300, height=100, bg='orange')
c.pack()
p.pack()
colors = ['red', 'pink', 'purple', 'cyan', 'orange']
count = 0
def create_ball():
global count
c.delete(ALL)
x = random.randint(10, 580)
y = random.randint(10, 589)
r = 30
new_ball = c.create_oval(x, y, x+r, y+r, fill=random.choice(colors), width=0)
c.tag_bind(new_ball, '<Button-1>', click_on_circle)
root.after(1400, create_ball)
count += 1
def click_on_circle(event):
global count
print(str(count))
p.delete(ALL)
p.create_text(80, 38, font="Arial 18", text="ПлонаДaний: ")
p.create_text(180, 30, font="Arial 20", text=str(count))
create_ball()
create_ball()
root.mainloop()
Объяснение:
Невірний синтаксис для функції mainloop(), тому що він повинен бути викликаний на об'єкті root: root.mainloop().
Відсутня кома в списку кольорів, яка призводить до помилки синтаксису.
Неправильний синтаксис функції create_oval() замість create_oval(x, y, x+r, y+r).
Назва функції створення м'яча збігається з назвою самого м'яча, тому що це приведе до помилок виконання. Потрібно змінити назву функції на щось інше, наприклад create_ball().