diff options
author | Terry Jan Reedy <tjreedy@udel.edu> | 2016-06-21 18:41:38 -0400 |
---|---|---|
committer | Terry Jan Reedy <tjreedy@udel.edu> | 2016-06-21 18:41:38 -0400 |
commit | b60adc54d4f248d71d831d14e11cc77fe72c281e (patch) | |
tree | 40991b8eacb5eea9cfe04e7dbb2cb20149b868f2 /Lib/idlelib/statusbar.py | |
parent | aacd53f6cb96fe8c4fe9ce894f22e25f356a97c3 (diff) | |
download | cpython-git-b60adc54d4f248d71d831d14e11cc77fe72c281e.tar.gz |
Issue #24137: Run IDLE, test_idle, and htest with tkinter default root disabled.
Fix code and tests that fail with this restriction.
Fix htests to not create a second and redundant root and mainloop.
Diffstat (limited to 'Lib/idlelib/statusbar.py')
-rw-r--r-- | Lib/idlelib/statusbar.py | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/Lib/idlelib/statusbar.py b/Lib/idlelib/statusbar.py index e82ba9ab2f..c093920be4 100644 --- a/Lib/idlelib/statusbar.py +++ b/Lib/idlelib/statusbar.py @@ -1,16 +1,14 @@ -from tkinter import * +from tkinter import Frame, Label class MultiStatusBar(Frame): - def __init__(self, master=None, **kw): - if master is None: - master = Tk() + def __init__(self, master, **kw): Frame.__init__(self, master, **kw) self.labels = {} - def set_label(self, name, text='', side=LEFT, width=0): + def set_label(self, name, text='', side='left', width=0): if name not in self.labels: - label = Label(self, borderwidth=0, anchor=W) + label = Label(self, borderwidth=0, anchor='w') label.pack(side=side, pady=0, padx=4) self.labels[name] = label else: @@ -20,27 +18,27 @@ class MultiStatusBar(Frame): label.config(text=text) def _multistatus_bar(parent): - root = Tk() + import re + from tkinter import Toplevel, Frame, Text, Button + top = Toplevel(parent) width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) - root.geometry("+%d+%d" %(x, y + 150)) - root.title("Test multistatus bar") - frame = Frame(root) + top.geometry("+%d+%d" %(x, y + 150)) + top.title("Test multistatus bar") + frame = Frame(top) text = Text(frame) text.pack() msb = MultiStatusBar(frame) msb.set_label("one", "hello") msb.set_label("two", "world") - msb.pack(side=BOTTOM, fill=X) + msb.pack(side='bottom', fill='x') def change(): msb.set_label("one", "foo") msb.set_label("two", "bar") - button = Button(root, text="Update status", command=change) - button.pack(side=BOTTOM) + button = Button(top, text="Update status", command=change) + button.pack(side='bottom') frame.pack() - frame.mainloop() - root.mainloop() if __name__ == '__main__': from idlelib.idle_test.htest import run |