具体功能:
看似一个平平无奇的计算器
如果输入‘303’(不包含引号)(可以更改)
那么会让你输入小游戏的名称(文件名)
即可打开小游戏
代码如下:
import tkinter as tk
from tkinter import simpledialog
def button_click(number):
current = entry.get()
entry.delete(0, tk.END) # 清除文本框内容
entry.insert(tk.END, current + str(number))
# 检查输入是否为303,并开始游戏(可更改)
if entry.get() == "303":
Mini Games()
def button_clear():
entry.delete(0, tk.END)
def button_equal():
expression = entry.get()
result = eval(expression)
entry.delete(0, tk.END)
entry.insert(tk.END, result)
def Mini Games():
try:
import os
MiniGames=simpledialog.askstring("计算器",'''恭喜你:
你打开了小游戏
你想玩什么?
1.将游戏拖动到桌面
2.将游戏名称完完整整的复制下来(包括扩展名),粘贴到下列输入框''')
os.startfile(MiniGames) # 使用默认程序打开文件
except Exception as e:
print(e)
root = tk.Tk()
root.title("计算器")
entry = tk.Entry(root, width=35, borderwidth=5)
entry.grid(row=0, column=0, columnspan=3, padx=10, pady=10)
button_1 = tk.Button(root, text="1", padx=40, pady=20, command=lambda: button_click(1))
button_2 = tk.Button(root, text="2", padx=40, pady=20, command=lambda: button_click(2))
button_3 = tk.Button(root, text="3", padx=40, pady=20, command=lambda: button_click(3))
button_4 = tk.Button(root, text="4", padx=40, pady=20, command=lambda: button_click(4))
button_5 = tk.Button(root, text="5", padx=40, pady=20, command=lambda: button_click(5))
button_6 = tk.Button(root, text="6", padx=40, pady=20, command=lambda: button_click(6))
button_7 = tk.Button(root, text="7", padx=40, pady=20, command=lambda: button_click(7))
button_8 = tk.Button(root, text="8", padx=40, pady=20, command=lambda: button_click(8))
button_9 = tk.Button(root, text="9", padx=40, pady=20, command=lambda: button_click(9))
button_0 = tk.Button(root, text="0", padx=40, pady=20, command=lambda: button_click(0))
button_add = tk.Button(root, text="+", padx=40, pady=20, command=lambda: button_click("+"))
button_subtract = tk.Button(root, text="-", padx=40, pady=20, command=lambda: button_click("-"))
button_multiply = tk.Button(root, text="*", padx=40, pady=20, command=lambda: button_click("*"))
button_divide = tk.Button(root, text="/", padx=40, pady=20, command=lambda: button_click("/"))
button_equal = tk.Button(root, text="=", padx=40, pady=20, command=button_equal)
button_clear = tk.Button(root, text="清除", padx=40, pady=20, command=button_clear)
button_1.grid(row=1, column=0)
button_2.grid(row=1, column=1)
button_3.grid(row=1, column=2)
button_4.grid(row=2, column=0)
button_5.grid(row=2, column=1)
button_6.grid(row=2, column=2)
button_7.grid(row=3, column=0)
button_8.grid(row=3, column=1)
button_9.grid(row=3, column=2)
button_0.grid(row=4, column=0)
button_add.grid(row=1, column=3)
button_subtract.grid(row=2, column=3)
button_multiply.grid(row=3, column=3)
button_divide.grid(row=4, column=3)
button_equal.grid(row=4, column=2)
button_clear.grid(row=4, column=1)
root.mainloop()
可能有复制的代码中空格和Python中的格式不一样(invalid non-printable character U+200B)报错。请谅解。