Многостраничное приложение нуждается в опции, в которой пользователи могут переключаться или переключаться между разными страницами. Итак, в этом уроке мы узнаем, как перейти на следующую страницу в программе Python Tkinter.
Когда есть ссылка на следующую страницу, добавленную в определенный виджет, и пользователь нажимает на этот виджет, он переходит на следующую страницу. В то же время происходит еще одна вещь: предыдущая страница закрывается или уничтожается.
Перейти на следующую страницу в Python Tkinter
Каждый файл .py можно рассматривать как модуль, и мы можем импортировать их по мере необходимости. С другой стороны, мы можем уничтожить предыдущую страницу, используя встроенный метод destroy. Давайте посмотрим на вещи в действии в этой небольшой программе.
Фрагмент кода:
- В этом коде мы создали 3 страницы, и на каждой странице есть две кнопки.
- первая кнопка будет переходить на следующую страницу, а другая — на предыдущую. Щелчок по любой из страниц вызовет функцию, при которой текущая страница будет уничтожена, а новая страница будет импортирована .
- Страницы называются page1 , page2 и page3.
- Все страницы имеют практически одинаковый код. Главное, на что следует обратить внимание, — это страницы импорта. Каждая страница импортирует разные страницы.
def nextPage():
ws.destroy()
import page2
- nextPage() : это имя функции
- ws.destroy() : это закроет текущую страницу
- import page2 : страница2 начнет отображаться.
Страница 1
Это исходный код для создания page1.py . Создайте новый файл с именем page1.py, а затем скопируйте и вставьте приведенный ниже код.
from tkinter import *
ws = Tk()
ws.geometry('400x300')
ws.title('PythonGuides')
ws['bg']='#5d8a82'
f = ("Times bold", 14)
def nextPage():
ws.destroy()
import page2
def prevPage():
ws.destroy()
import page3
Label(
ws,
text="This is First page",
padx=20,
pady=20,
bg='#5d8a82',
font=f
).pack(expand=True, fill=BOTH)
Button(
ws,
text="Previous Page",
font=f,
command=nextPage
).pack(fill=X, expand=TRUE, side=LEFT)
Button(
ws,
text="Next Page",
font=f,
command=prevPage
).pack(fill=X, expand=TRUE, side=LEFT)
ws.mainloop()
Страница 2
Это исходный код для создания page2.py . Создайте новый файл с именем page2.py, а затем скопируйте и вставьте приведенный ниже код.
from tkinter import *
ws = Tk()
ws.geometry('400x300')
ws.title('PythonGuides')
ws['bg']='#ffbf00'
f = ("Times bold", 14)
def nextPage():
ws.destroy()
import page3
def prevPage():
ws.destroy()
import page1
Label(
ws,
text="This is Second page",
padx=20,
pady=20,
bg='#ffbf00',
font=f
).pack(expand=True, fill=BOTH)
Button(
ws,
text="Previous Page",
font=f,
command=nextPage
).pack(fill=X, expand=TRUE, side=LEFT)
Button(
ws,
text="Next Page",
font=f,
command=prevPage
).pack(fill=X, expand=TRUE, side=LEFT)
ws.mainloop()
Страница 3
Это исходный код для создания page3.py . Создайте новый файл с именем page3.py, а затем скопируйте и вставьте приведенный ниже код.
from tkinter import *
ws = Tk()
ws.geometry('400x300')
ws.title('PythonGuides')
ws['bg']='#ffbf00'
f = ("Times bold", 14)
def nextPage():
ws.destroy()
import page1
def prevPage():
ws.destroy()
import page2
Label(
ws,
text="This is Third page",
font = f,
padx=20,
pady=20,
bg='#bfff00'
).pack(expand=True, fill=BOTH)
Button(
ws,
text="Previous Page",
font=f,
command=nextPage
).pack(fill=X, expand=TRUE, side=LEFT)
Button(
ws,
text="Next Page",
font = f,
command=prevPage
).pack(fill=X, expand=TRUE, side=LEFT)
ws.mainloop()
В этом выводе вы можете увидеть три страницы. Каждая страница имеет ярлык и две кнопки. Эти кнопки предназначены для перехода пользователя на предыдущую или следующую страницу.
