簡體   English   中英

如何使用 Tkinter 菜單小部件?

[英]How do I use the The Tkinter Menu Widget?

我不知道如何使用我的代碼添加 The Tkinter Menu Widget 我在網站上嘗試了該代碼,但它不起作用。 它認為我只是很傻,但請幫忙。 只是為了記錄,我查看了其他堆棧溢出解決方案,但它們沒有用。

import pyautogui
import time
import tkinter as tk


class Coordinates():
    replayBtn = (100,350)
class YourGUI(tk.Tk):
    def __init__(self):
        # inherit tkinter's window methods
        tk.Tk.__init__(self)
#Enter X field and label ⬇
        tk.Label(self, text="ENTER X:").grid(row=0, column=3)
        self.inputX = tk.Entry(self)
        self.inputX.grid(row=0, column=1)
#Enter Y field and label ⬇
        tk.Label(self, text="ENTER Y:").grid(row=0, column=0)
        self.inputY = tk.Entry(self)
        self.inputY.grid(row=0, column=4)
        # Start Button ⬇
        tk.Button(self, text="start", command=self.do_conversion).grid(row=3, column=0, columnspan=2)
        # close button ⬇
        tk.Button(self, text="exit!", command=self.EXITME).grid(row=4, column=0, columnspan=2)


    def EXITME(self):
        exit(0)  # crashed prog so it closes
        # strtoint("crashmE!")

    def do_conversion(self):
        y = self.inputY.get()
        x = self.inputX.get()

        running = True
        try:
            x = int(x)
            y = int(y)
        except:
            print("Invalid point")
            exit(0)
            # strtoint("crashmE!")
        while running:
            pyautogui.click(x, y)

if __name__ == '__main__':
    your_gui = YourGUI()
    your_gui.title('Macro Clicker') # Set title
    your_gui.iconbitmap('favicon.ico') # Set icon
    your_gui.resizable(False, False)
    your_gui.mainloop()
time.sleep(0)

很抱歉這么說,但如果您不懶惰,您會發現有關 tkinter 菜單的無數示例。 甚至你的代碼也與 tkinter.menu 無關!?

這是我的一個例子。 “信息”菜單是空的,只是為了向您展示如何創建附加菜單。

from tkinter import Tk, Frame, Menu

class Gui(Frame):
    def __init__(self, master):
        self.master = master
        Frame.__init__(self, self.master) #main container
        self.grid()
        self.create_menu()

    def create_menu(self):
        self.menubar = Menu(self.master)
        self.theme = Menu(self.menubar, tearoff=0)
        self.menubar.add_cascade(label="View", menu=self.theme)
        self.menubar.add_command(label="Info", command=self.passing)
        self.views = Menu(self.theme, tearoff=0)
        self.theme.add_cascade(label="Themes", menu=self.views)
        self.views.add_command(label="Default", command=self.passing)
        self.views.add_command(label="Red", command=self.passing)
        self.views.add_command(label="Blue", command=self.passing)
        self.views.add_command(label="Random", command=self.passing)
        self.master.configure(menu=self.menubar)

    def passing(self):
        print("Use your brain before asking questions on stackoverflow or use google if your brain is slow")

if __name__ == "__main__":
    root = Tk()
    root.geometry("300x200")
    my_gui = Gui(root)
    root.mainloop()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM