Skip to content

Instantly share code, notes, and snippets.

@Amperthorpe
Last active July 4, 2018 17:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Amperthorpe/848841037c6c8a2f929187d1131329d3 to your computer and use it in GitHub Desktop.
Save Amperthorpe/848841037c6c8a2f929187d1131329d3 to your computer and use it in GitHub Desktop.
tkinter two methods
from tkinter import *
def game_loop():
help_str = "Do a thing!"
running = True
while running:
print(help_str)
class Application(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.grid()
self.create_widgets(master)
def create_widgets(self, master):
for i in range(5):
btn_ok = Button(self, text="OK!" + str(i), command=cmd(print, "Yes!", i))
btn_ok.grid()
# Not working, idk what to add it to in this method.
self.menubar = Menu(self)
app_menu = Menu(self.menubar)
app_menu.add_command(label="Quit", command=self.quit)
self.menubar.add_cascade(label="App", menu=app_menu)
def cmd(func, *args, **kwargs):
"""
Creates reference to function with specified params.
:param func:
:param args:
:param kwargs:
:return:
"""
def wrapper():
func(*args, **kwargs)
return wrapper
def run_app():
app = Application()
app.master.title("OK!")
app.master.geometry("1200x720")
app.master.config(width=1000, height=1000)
app.mainloop()
if __name__ == '__main__':
print("Ran game.py")
run_app()
from tkinter import *
def cmd(func, *args, **kwargs):
"""
Creates reference to function with specified params.
:param func:
:param args:
:param kwargs:
:return:
"""
def wrapper():
func(*args, **kwargs)
return wrapper
def main():
root = Tk()
root.config()
root.title("Game Alt")
for i in range(5):
btn_ok = Button(root, text="OK!" + str(i), command=cmd(print, "Yes!", i))
btn_ok.grid()
menubar = Menu(root)
app_menu = Menu(menubar)
app_menu.add_command(label="Quit", command=root.quit)
menubar.add_cascade(label="App", menu=app_menu)
root.config(menu=menubar)
root.mainloop()
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment