简体   繁体   English

如何制作可选的 tkinter GUI?

[英]How to make an optional tkinter GUI?

I have a tkinter GUI code that executes different functions which are mapped to different buttons/widgets, I want to give users the option of choosing to open the GUI window or directly execute from the command line.我有一个 tkinter GUI 代码执行映射到不同按钮/小部件的不同功能,我想让用户选择打开 GUI window 或直接从命令行执行。

I tried keeping mainloop() inside an optional switch like:我尝试将 mainloop() 保留在一个可选开关中,例如:

if gui == "1":
    root.mainloop()
else:
    #command mode
    # call required functions here using user switches.

Is this the correct way of doing this?这是这样做的正确方法吗? this is working when i tried in linux system.当我在 linux 系统中尝试时,这是有效的。

root = Tk() root.title('ATM v.keypad buttons //////dont acc work///////') root = Tk() root.title('ATM v.keypad buttons //////dont acc work///////')

        # creates the buttons adds no value tho

        # size of button
        gridlabel1 = Button(root, text='1', padx=50, pady=50)
        gridlabel2 = Button(root, text='2', padx=50, pady=50)
        gridlabel3 = Button(root, text='3', padx=50, pady=50)
        gridlabel4 = Button(root, text='4', padx=50, pady=50)
        gridlabel5 = Button(root, text='5', padx=50, pady=50)
        gridlabel6 = Button(root, text='6', padx=50, pady=50)
        gridlabel7 = Button(root, text='7', padx=50, pady=50)
        gridlabel8 = Button(root, text='8', padx=50, pady=50)
        gridlabel9 = Button(root, text='9', padx=50, pady=50)
        gridlabel0 = Button(root, text='0', padx=50, pady=50)
        cancelbutton = Button(root, text='cancel', padx=75, pady=50)
        clearbutton = Button(root, text='clear', padx=75, pady=50)
        enterbutton = Button(root, text='enter', padx=75, pady=50)
        # prints the button at set location
        gridlabel1.grid(row=0, column=0)
        gridlabel2.grid(row=0, column=1)
        gridlabel3.grid(row=0, column=2)
        gridlabel4.grid(row=1, column=0)
        gridlabel5.grid(row=1, column=1)
        gridlabel6.grid(row=1, column=2)
        gridlabel7.grid(row=2, column=0)
        gridlabel8.grid(row=2, column=1)
        gridlabel9.grid(row=2, column=2)
        gridlabel0.grid(row=3, column=1)
        cancelbutton.grid(row=0, column=4)
        clearbutton.grid(row=1, column=4)
        enterbutton.grid(row=2, column=4)
        root.mainloop()

that was my example notice how I put root.mainloop() at the end was indented because it was in a if statment这是我的示例,请注意我如何将 root.mainloop() 放在末尾缩进,因为它在 if 语句中

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM