Многостраничное приложение нуждается в опции, в которой пользователи могут переключаться или переключаться между разными страницами. Итак, в этом уроке мы узнаем, как перейти на следующую страницу в программе 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()
В этом выводе вы можете увидеть три страницы. Каждая страница имеет ярлык и две кнопки. Эти кнопки предназначены для перехода пользователя на предыдущую или следующую страницу.