推荐几个学习网址:
https://www.cnblogs.com/shwee/p/9427975.html
https://cloud.tencent.com/developer/section/1372347#stage-100040129
https://docs.python.org/3/library/tkinter.html
一、源代码
1 import itchat 2 import requests 3 import tkinter 4 from tkinter import messagebox 5 6 7 def func(self): 8 cont = text2.get(1.0, 'end').replace(' ', '') 9 if len(cont) == 0: 10 messagebox.showinfo("错误", "不能发送空消息") 11 return 12 else: 13 try: 14 req = requests.get('http://i.itpk.cn/api.php', params={'question': cont}) 15 text1.config(state='normal') 16 text1.insert(tkinter.INSERT, '我: ' + cont + ' ') 17 text1.config(state='disabled') 18 text2.delete('1.0', 'end') 19 text1.config(state='normal') 20 text1.insert(tkinter.INSERT, '夏莉: ' + req.text + ' ') 21 text1.config(state='disabled') 22 except: 23 messagebox.showinfo("错误", "发送失败") 24 return 25 26 27 def enterkeyfunc(event): 28 if event.keycode == 13: 29 func(event) 30 31 32 def mouseenterfunc(event): 33 button1['bg'] = 'green' 34 35 36 def mouseleavefunc(event): 37 button1['bg'] = 'white' 38 39 40 win = tkinter.Tk() 41 win.title("机器人夏莉") 42 # 宽度x高度+距离屏幕横向400+纵向100 43 win.geometry("400x500+400+100") 44 # 禁止最大化 45 win.wm_resizable(False, False) 46 47 text1 = tkinter.Text(win, height=26, bg='#e6f1f1') 48 text2 = tkinter.Text(win, height=9, bg='white') 49 button1 = tkinter.Button(win, text="发送(S)", width=8, height=1) 50 51 text1.pack(anchor=tkinter.N) 52 text2.pack(anchor=tkinter.CENTER) 53 button1.pack(anchor=tkinter.SE) 54 text1.config(state='disabled') 55 56 text2.focus() 57 58 # 绑定事件 59 button1.bind("<Button-1>", func) 60 button1.bind("<Enter>", mouseenterfunc) 61 button1.bind("<Leave>", mouseleavefunc) 62 text2.bind("<Key>", enterkeyfunc) 63 64 win.mainloop()
二、运行结果:
三、打包exe
1.安装pyinstaller
pip install pyinstaller
2.打包python文件
pyinstaller -F -w xxx.py
注:使用-F会在当前目录下的dist文件夹生成一个独立的exe文件,而使用-D(默认选项)则会在当前目录下的dist文件夹生成一个文件夹存放exe以及所有依赖文件。当py文件有窗体时使用-w,在windows下不会显示控制台,-w在*NIX系统里会被忽略。
参照:https://www.cnblogs.com/pcat/p/8463939.html
四、打包后的exe,下载点击可直接 运行(python>打包程序>RBoot.exe)
链接:https://pan.baidu.com/s/1DqjnZVTgBPSER6v5uGI6mQ
提取码:0kz3
注:若链接失效请留言,单独发你哦!