On Monday, 25 January 2016 08:22:12 UTC-8, KP wrote: > On Monday, 25 January 2016 00:51:34 UTC-8, Peter Otten wrote: > > KP wrote: > > > > > See my code below (which works). > > > > >From the import of lowercase "tkinter" I conclude you are using Python 3. > > > > > I'd like to have the 2nd window as a > > > class in a separate unit. How do I code that unit and how do I call it > > > from my first unit? > > > > > > As always, thanks for all help! > > > > Move the code from open_window2() into a class in settings.py, e. g. > > > > > > import tkinter as tk # avoid star-import > > > > class SettingsWindow(tk.Toplevel): # Class names start with uppercase letter > > # Prefer self-explaining names > > def __init__(self, root): > > super().__init__(root) > > self.title('New window') > > self.geometry('262x65+200+250') > > self.transient(root) > > > > Then use it in your main script: > > > > > > > #!/usr/bin/env python > > > """ > > > """ > > > from tkinter import * > > import settings > > > > > class window1(): > > > > > > def open_window2(self): > > settings.SettingsWindow(self.root) > > > > > def setup_menu(self): > > > self.menubar = Menu(self.root) > > > self.menu1 = Menu(self.menubar, tearoff=0 ) > > > self.menu1.add_command(label="Settings", accelerator='Ctrl+S', > > > command=self.open_window2) self.menubar.add_cascade(label="Menu > > > 1", menu=self.menu1) self.root.config(menu=self.menubar) > > > > > > def __init__(self): > > > self.root = Tk() > > > self.root.title('Window #1') > > > self.setup_menu() > > > self.root.geometry('800x600+200+200') > > > # > > > self.root.mainloop() > > > > > > if __name__ == '__main__': > > > > > > w1 = window1() > > Dang - almost there. Using your code, I get the new window with the specified > geometry and its type is transient, as expected. > > Its caption, however, is NOT the caption specified, but the caption of the > first window, leaving me with 2 windows with identical caption. > > Any idea why?
Forget that post - mea culpa - figured it out - sorry! -- https://mail.python.org/mailman/listinfo/python-list