Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python 3 and tkinter opening new window by clicking the button

How do I open a new window when the user clicks a button in Tkinter and Python 3?

like image 929
joza jozic Avatar asked Feb 21 '13 17:02

joza jozic


1 Answers

You can open a new window by creating a new instance of the Tkinter class Toplevel.

For example:

import Tkinter as tk

class View(tk.Frame):
    count = 0
    def __init__(self, *args, **kwargs):
        tk.Frame.__init__(self, *args, **kwargs)
        b = tk.Button(self, text="Open new window", command=self.new_window)
        b.pack(side="top")

    def new_window(self):
        self.count += 1
        id = "New window #%s" % self.count
        window = tk.Toplevel(self)
        label = tk.Label(window, text=id)
        label.pack(side="top", fill="both", padx=10, pady=10)

if __name__ == "__main__":
    root = tk.Tk()
    view = View(root)
    view.pack(side="top", fill="both", expand=True)
    root.mainloop()
like image 188
Bryan Oakley Avatar answered Oct 22 '22 11:10

Bryan Oakley