Можно ли иметь два объекта на одном холсте? - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь выучить tkinter и постоянно зацикливаться на двух предметах на одном холсте.У меня может быть кнопка или прямоугольники внизу, а не оба.Я еще не пробовал grid, но я пытался упаковать их по-другому и переставить все.Спасибо.

#!/usr/bin/python
import time
import tkinter as tk
import random as rand

gui = tk.Tk()
gui.geometry("800x800")
can = tk.Canvas(gui ,width=800 ,height=800)
gui.title("Moving Squares")


def button_clicked(event):
    #copy text from textbox and place into label
    print(f"the button is clicked, text.get() = {text.get()}")
    label_string.set(text.get())


label_string = tk.StringVar()
label_string.set("nothing?")
label = tk.Label(can,textvariable=label_string)

text = tk.Entry(can)
text_string = 'hello?'
text.insert(3, text_string)

button = tk.Button(can, text='Copy text from textbox')
button.bind("<1>", button_clicked)
# stands for  ^  button 1 aka mouse 1



large_square = can.create_rectangle(10,400,780,760, fill="yellow")
small_square = can.create_rectangle(-780,400,20,760, fill= 'blue')
can.pack()
label.pack()
text.pack()
button.pack()
for i in range(10): 
    count = 20
    time.sleep(1)
    random_num = rand.randint(-50,50)
    can.move(small_square,random_num,0)
    count+100
    gui.update()
can.move(small_square,780- abs(random_num), 0)
gui.mainloop()
...