Issue 26377: Tkinter dialogs will not close if root window not packed. (original) (raw)

Created on 2016-02-17 15:07 by Sam Yeager, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
1 Before closing window and box.png Sam Yeager,2016-02-19 18:59
2 After closing window and box.png Sam Yeager,2016-02-19 18:59
Messages (5)
msg260401 - (view) Author: Sam Yeager (Sam Yeager) Date: 2016-02-17 15:07
Using the following code, the messagebox will not close, leaving it on top of all other open windows: from tkinter import * rootWin = Tk() messagebox.showinfo("Title", "foo") If the root window contains a widget (Label, Entry, Button, etc.), the dialog can close. Similar results have been obtained with filedialog. OS: Mac OS X 10.10.5 Python IDE: IDLE 3.4.4 tkinter.TkVersion: 8.5 tkinter.TclVersion: 8.5 ActiveTcl: 8.6.4
msg260545 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2016-02-20 00:53
Try adding 'parent=rootWin' to the messagebox call. Otherwise, I expect that this is, as far as cause, a duplicate of #2637, in which case my comment https://bugs.python.org/issue26376#msg260544 applies.
msg260698 - (view) Author: Sam Yeager (Sam Yeager) Date: 2016-02-22 20:33
Updated script with the adding 'parent-Rootwin' to messagebox() arguments. The issue persists. Following advice in #26376: Ran script on Terminal. The issue disappears, and everything works normally. Running through IDLE, the issue returns.
msg380054 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2020-10-31 12:11
Is this problem still present? I've used the following script to test: import tkinter from tkinter import messagebox root = tkinter.Tk() box = messagebox.showinfo("Title", "A Message") # -- EOF --- With this script I can close the message box without problems (by clicking on the OK button). Both when running from the command-line and when running from IDLE. Python 3.9, installer from python.org.
msg380107 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2020-10-31 23:24
Looking at #26376 again, I think Ned's identified Sam's problem. "Also note that installing ActiveTcl 8.6.x has no effect if the tkinter in use was linked with an 8.5 version of Tcl/Tk, as the one you are using apparently was. Make sure you have installed the latest version of ActiveTcl 8.5.x and try again." Sam's tk 8.5 would have been Apple's buggy 8.5.9 (or earlier). I should have asked for the 8.y.z version listed in About IDLE. In any case, I also verified no problem in current Python-Tk-IDLE.
History
Date User Action Args
2022-04-11 14:58:27 admin set github: 70565
2020-10-31 23:24:05 terry.reedy set status: open -> closedsuperseder: Tkinter root window won't close if packed.messages: + resolution: duplicatestage: resolved
2020-10-31 12:11:03 ronaldoussoren set messages: +
2016-02-22 20:33:50 Sam Yeager set messages: +
2016-02-20 00:53:21 terry.reedy set nosy: + terry.reedymessages: + components: - IDLE
2016-02-19 23:24:36 Sam Yeager set type: behavior
2016-02-19 18:59:16 Sam Yeager set files: + 2 After closing window and box.png
2016-02-19 18:59:02 Sam Yeager set files: + 1 Before closing window and box.png
2016-02-17 15:07:00 Sam Yeager create