tkinter multiple buttons code example
Example 1: how to create multiple windows in tkinter with button
import tkinter as tk
def new_window():
window = tk.Toplevel(root)
canvas = tk.Canvas(window, height=HEIGHT, width=WIDTH)
canvas.pack()
HEIGHT = 400
WIDTH = 300
root = tk.Tk()
root.title("new window making machine: ")
canvas = tk.Canvas(root, height=HEIGHT, width=WIDTH)
canvas.pack()
button = tk.Button(root, text="new window", bg='black', fg='#469A00',
command=lambda: new_window())
button.pack()
root.mainloop()
Example 2: python tkinter button multiple commands
pythonCopytry:
import Tkinter as tk
except:
import tkinter as tk
class Test():
def __init__(self):
self.root = tk.Tk()
self.root.geometry('200x100')
self.button = tk.Button(self.root,
text = 'Click Me',
command = self.combineFunc(self.funcA, self.funcB, self.funcC))
self.button.pack()
self.labelA = tk.Label(self.root, text="A")
self.labelB = tk.Label(self.root, text="B")
self.labelC = tk.Label(self.root, text="C")
self.labelA.pack()
self.labelB.pack()
self.labelC.pack()
self.root.mainloop()
def combineFunc(self, *funcs):
def combinedFunc(*args, **kwargs):
for f in funcs:
f(*args, **kwargs)
return combinedFunc
def funcA(self):
self.labelA["text"] = "A responds"
def funcB(self):
self.labelB["text"] = "B responds"
def funcC(self):
self.labelC["text"] = "C responds"
app = Test()