Tk () Работа с нумерацией страниц с помощью кнопки - PullRequest
0 голосов
/ 28 февраля 2020

Ребята, я создаю приложение, и мне нужна нумерация страниц в форме СЛЕДУЮЩАЯ и ПРЕДЫДУЩАЯ, например,

listt1 = [[1,2,3], [4,5,6], [7,8,9], [10,11,12], [13,14,15], [16,17,18]]
list2=[]
next = ""
prev = ""
def show_list():
    if next == "clicked":
        for i in listt1[0 : 1]:
            show.insert(END, i)
            listt2.append(i)
            listt1.del(i)
    if prev == "clicked":
        for n in listt2[0 : 1]:
            show.insert(END, n)
def prev_btn():
    prev = 'clicked'
    show_list()
def next_btn():
    next = 'clicked'
    show_list()
btn1 = tk.Button(win, text='next',command=next_btn)
btn1.pack(side='left')
btn2 = tk.Button(win, text='prev',command=prev_btn)
btn2.pack=(side='left')
show = tk.Entry(win, width=6)
show.pack(side'bottom')

win = Tk()
win.title("clickers")
win.mainloop()

#OUTPUT  FOR BUTTON(NEXT) ON EACH CLICK SHOULD BE
 1,2,3 and 4,5,6
  7,8,9 and 10,11,12
 13,14,15 and 16,17,18

#OUTPUT FOR BUTTON(PREV) ON EACH CLICK SHOULD BE
7,8,9 and 10,11,12
1,2,3 and 4,5,6

Я хочу, чтобы это работало на веб-сайте, пожалуйста, ребята, я знаю, что это легко, и базовое c знание обработки списка, и l oop сделает, это я делаю, но, кажется, не могу обойти это.

Ребята также нуждаются в помощи с этим

(1) мне нужен рабочий код для загрузки изображения в мою базу данных, извлечения, отображения и изменения размера до действительно небольшого размера

(2) можно ли напечатать страницу приложения tkinter так же, как на веб-сайте, вероятно, для этого тоже нужен код

(3) я не буду возражать против ссылки на действительно красивое видео с приложением tkinter, так как его создание выглядит немного некрасиво

спасибо всем заранее ребята

1 Ответ

0 голосов
/ 28 февраля 2020

Вот простой пример, основанный на вашем коде, который разбивает на страницы в списке и показывает элементы в поле ввода.

import tkinter as tk
import math

items = [str(n) for n in range(100)]

page = 0
per_page = 5
n_pages = math.ceil(len(items) / per_page)


def update_list():
    print(page)
    start_index = int(page * per_page)
    end_index = int((page + 1) * per_page)
    items_in_page = items[start_index:end_index]
    view_text = "Page %d/%d: %s" % (page + 1, n_pages, ", ".join(items_in_page))
    show.delete(0, tk.END)
    show.insert(0, view_text)


def change_page(delta):
    global page
    page = min(n_pages - 1, max(0, page + delta))
    update_list()


def prev_btn():
    change_page(-1)


def next_btn():
    change_page(+1)


win = tk.Tk()
win.title("clickers")
tk.Button(win, text="next", command=next_btn).pack()
tk.Button(win, text="prev", command=prev_btn).pack()
show = tk.Entry(win)
show.pack()
update_list()  # to initialize `show`
win.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...