Python中表单输入无.字符时弹出错误页或关闭程序的实现方法
功能实现修改方案
完整修改后代码
from tkinter import * from tkinter import messagebox import os window = Tk() window.title("web2video") window.geometry("330x140+200+100") # 没有icon.png文件可以注释掉下面两行避免运行报错 photo = PhotoImage(file = "icon.png") window.iconphoto(False, photo) urltxt = Label(window, text = "video Url").place(x = 30, y = 10) url = Entry(window, width=30) url.insert(0,"") url.grid(row=1, column=0, padx=100, pady=10) def Message(): input_url = url.get().strip() # 先判断输入是否为空 if not input_url: messagebox.showerror("错误", "输入内容不能为空") return # 判断输入是否不包含.字符 if '.' not in input_url: # 方案1:弹出错误提示(交互更友好,默认启用) messagebox.showerror("错误", "输入的地址格式不合法,请输入有效视频地址") # 方案2:直接关闭程序,如需启用请注释上面一行,放开下面一行即可 # window.destroy() return os.system(f"echo ^<html^> > %USERPROFILE%\AppData\Local\Temp\web2video.html") os.system(f"echo ^<body style=\"background-color:black;\"^> >> %USERPROFILE%\AppData\Local\Temp\web2video.html") os.system(f"echo ^<video controls src=\"{input_url}\" width=\"100%\" height=\"100%\" ^></video^> >> %USERPROFILE%\AppData\Local\Temp\web2video.html") os.system(f"echo ^</body^> >> %USERPROFILE%\AppData\Local\Temp\web2video.html") os.system(f"echo ^</html^> >> %USERPROFILE%\AppData\Local\Temp\web2video.html") os.system(f"start %USERPROFILE%\AppData\Local\Temp\web2video.html") btnSendMessage = Button(window, text="Start", width=20, command=Message) btnSendMessage.grid(row=5, column=0, padx=10, pady=10) window.mainloop()
关键修改说明
- 新增导入tkinter自带的
messagebox组件用于弹出错误提示,相比直接关闭程序的交互体验更好 - 对用户输入先做首尾去空格处理,避免误输入空格导致判断逻辑失效
- 新增两层校验:先判断输入是否为空,再判断是否包含
.字符,只有校验通过才会执行后续生成HTML、打开页面的逻辑 - 两种错误处理方式可按需切换,默认保留弹窗提示方案。
内容的提问来源于stack exchange,提问作者user17293338
相关产品推荐
相关产品推荐

