python - 如何使用 Tkinter 菜单小部件?
问题描述
我不知道如何使用我的代码添加 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)
解决方案
很抱歉这么说,但如果你不懒惰,你会发现超过 thoend 的关于 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()
推荐阅读
- c# - 如何将数据行转换为对象数组?
- c# - C# 类型转换自定义对象,其中包含泛型
- python - 通过凭据登录后,Scrapy 未在 LinkedIn 上抓取数据
- python-2.7 - Docker Image命令python返回非零代码
- python - 为什么我的按钮没有转到 GUI 窗口的最右侧?
- mysql - MySQL 中列上的条件文本连接。一些短语完全匹配和其他正则表达式
- java - Spring Boot 零星异常(...连接被中止?)
- c# - 使用 ASP.NET Core 2.1 获取外部 IP
- excel - Excel 条件格式适用于意外更改的字段
- google-api - Google 将 API 计数比 1 个请求多出约 22 倍