title: hiding tkinter window using withdraw vs wm_withdraw
body: <p>What is the difference between <code>withdraw</code> and <code>wm_withdraw</code>?</p>
  
  <pre><code>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()
  </code></pre>
  
  <p>When the 'hide' button is clicked, the window is hidden. It disappears from the panel (taskbar), and is not visible in the task view (simultaneous view of all open windows) for 2 seconds.</p>
  
  <pre><code>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()
  </code></pre>
  
  <p>Same code, but <code>wm_withdraw</code> instead of <code>withdraw</code>. Again, clicking the 'hide' button makes the both the taskbar entry and the window itself invisible for 2 seconds.</p>
  
  <p>Is there any difference at all between these two? Which one should I use? Further, should I use <code>deiconify</code> or <code>wm_deiconify</code>? All four combinations (<code>withdraw</code>, <code>deiconify</code>; <code>wm_withdraw</code>, <code>deiconify</code>; <code>withdraw</code>, <code>wm_deiconify</code>; <code>wm_withdraw</code>, <code>wm_deiconify</code>) seem to do the exact same thing. Is there any application where they will do different things?</p>