Как мне отредактировать свой код, чтобы кнопка «Далее» в ОДНОМ ОКНЕ открывала пустую страницу? (не новое окно) - PullRequest
1 голос
/ 05 августа 2020
from tkinter import Tk, Canvas, Frame, BOTH
from tkinter import *
from tkinter import Tk

#Welcome screen

root = Tk()
root.configure(bg = "steel blue")


canvas = Canvas(root, bg = "steel blue", highlightthickness = 0)
canvas.config(width = 350, height = 250)

#canvas.config(width = root.winfo_screenwidth(), height = root.winfo_screenheight() )
canvas.pack()

#Making of the round rectangle

class Rectangle:

    def round_rectangle(x1, y1, x2, y2, radius=25, **kwargs):

        points = [x1+radius, y1,
                  x1+radius, y1,
                  x2-radius, y1,
                  x2-radius, y1,
                  x2, y1,
                  x2, y1+radius,
                  x2, y1+radius,
                  x2, y2-radius,
                  x2, y2-radius,
                  x2, y2,
                  x2-radius, y2,
                  x2-radius, y2,
                  x1+radius, y2,
                  x1+radius, y2,
                  x1, y2,
                  x1, y2-radius,
                  x1, y2-radius,
                  x1, y1+radius,
                  x1, y1+radius,
                  x1, y1]

        return canvas.create_polygon(points, **kwargs, smooth=True)

    my_rectangle = round_rectangle(10, 60, 330, 250, radius=20, outline = "black", fill="white")

canvas.place(relx=0.5, rely=0.5,anchor=CENTER)

def UserIdentification():
    newWindow = Toplevel(root)

Next_button=Button(root,text = "Next", anchor = W, command = UserIdentification)
Next_button.configure(width = 10, bg = "black", fg = "blue" ,borderwidth = 4)
Next_button = canvas.create_window(150, 200, anchor=NW, window=Next_button)

canvas.create_text(170, 100, text = "Hey there, welcome to DeliverToday! \nWe bring your needs right at your doorstep ~ \nhave a great journey ahead!")  

root.mainloop()

Привет, поэтому приведенный выше код работает полностью, но я не понимаю, как заставить кнопку «Далее» создать новый пустой экран (который я спроектирую позже, но пока пустой, чтобы упростить его). Я не могу использовать верхний уровень, потому что я не хочу, чтобы открывалось целое новое окно, но я хочу, чтобы оно открывалось в том же окне (один экран для выхода, а другой - для открытия). Как мне сделать это с помощью очень простого кода ?? (кнопка на холсте)

1 Ответ

1 голос
/ 05 августа 2020

Вы можете удалить все на холсте с помощью метода delete. Если вы передадите ему буквальную строку «all», он удалит все на холсте.

def UserIdentification():
    canvas.delete("all")
...