сокрытие окна tkinter с использованием метода «снять» против «wm_withdraw» - PullRequest
0 голосов
/ 04 февраля 2019

В чем разница между withdraw и wm_withdraw?

import time
import tkinter as tk

def hide():
    root.withdraw()
    time.sleep(2)
    root.deiconify()

root = tk.Tk()
tk.Button(root, text = 'hide', command = hide).pack()
root.mainloop()

При нажатии кнопки «скрыть» окно скрывается.Он исчезает с панели (панели задач) и не отображается в представлении задач (одновременном просмотре всех открытых окон) в течение 2 секунд.

import time
import tkinter as tk

def hide():
    root.wm_withdraw()
    time.sleep(2)
    root.deiconify()

root = tk.Tk()
tk.Button(root, text = 'hide', command = hide).pack()
root.mainloop()

Тот же код, но wm_withdraw вместо withdraw,Опять же, нажатие кнопки «Скрыть» делает запись панели задач и самого окна невидимой в течение 2 секунд.

Есть ли какая-либо разница между этими двумя?Какой из них я должен использовать?Кроме того, я должен использовать deiconify или wm_deiconify?Все четыре комбинации (withdraw, deiconify; wm_withdraw, deiconify; withdraw, wm_deiconify; wm_withdraw, wm_deiconify), кажется, делают то же самое.Есть ли приложение, где они будут делать разные вещи?

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Нет разницы между снятием и wm_withdraw.Я не могу указать, почему это было сделано, но вот источник tkinter, в котором у нас есть строка withdraw = wm_withdraw (которая дает понять, что оба вызова заканчиваются одним и тем же методом):

def wm_withdraw(self):
    """Withdraw this widget from the screen such that it is unmapped
    and forgotten by the window manager. Re-draw it with wm_deiconify."""
    return self.tk.call('wm', 'withdraw', self._w)
withdraw = wm_withdraw
0 голосов
/ 04 февраля 2019

Нет никакой разницы между ними - они оба ( вывод и deiconify ) просто сокращены для wm_ аналогов.

То же самое относится ко всем функциям, которыевзаимодействовать с оконным менеджером в Wm class .

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