Предмет: Информатика, автор: togzhankanatova82

как соединить canvas и menu в tkinter?Python
Чтобы canvа(холст) был в середине на окне tkinter ,а menu был сверху (не как кнопка)
как мне нужно изменить код?

Приложения:

Ответы

Автор ответа: Data1lz
1

Ответ:

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().

Похожие вопросы
Предмет: Английский язык, автор: Samofalovaylana