Всплывающее окно Tkinter Python, которое показывает сообщение, но позволяет запускать другую функцию, когда всплывающее окно открыто. - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь, чтобы всплывающее окно «Загрузка ...» отображалось при запуске другой функции, а затем, когда эта функция была выполнена, чтобы закрыть это всплывающее окно.

Спасибо

Ответы [ 3 ]

0 голосов
/ 15 октября 2018
import tkinter as t
from tkinter import ttk

root = t.Tk()
t.Label(root, text='Downloading...').pack()
pb = ttk.Progressbar(root, length=200, mode='indeterminate')
pb.pack()
pb.start()   
root.update()

Этот код немедленно отобразит это окно:

tk download window

Кроме того, это не остановит выполнение... Если вы напишите больше кода ниже, python продолжит выполнение вашей программы; но есть предостережение - вы должны время от времени вызывать root.update(), пока вы делаете что-то еще, чтобы tkinter мог обновить окно, иначе ваше окно будет казаться замороженным, а менеджер окон будетпометьте окно как "не отвечающее".

0 голосов
/ 15 октября 2018

Вы можете узнать, как создать всплывающее окно, выполнив поиск в StackOverflow для [tkinter] pop-up window.Когда вы это сделаете, вот общая функция «загрузки».

def downloading(parent, function, args, kwargs):
    popup = <code or function call to create popup using parent)
    ret = function(*args, **kwargs)
    popup.destroy()
    return ret

args - это кортеж или список позиционных аргументов.kwargs - это ключ-значение для имен и аргументов ключевых слов.

0 голосов
/ 15 октября 2018

Создайте окно Tk () и поместите в него индикатор выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...