python之GUI编程-tkinter学习
推荐几个学习网址: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
一、源代码
import itchat
import requests
import tkinter
from tkinter import messagebox def func(self):
cont = text2.get(1.0, 'end').replace('\n', '')
if len(cont) == 0:
messagebox.showinfo("错误", "不能发送空消息")
return
else:
try:
req = requests.get('http://i.itpk.cn/api.php', params={'question': cont})
text1.config(state='normal')
text1.insert(tkinter.INSERT, '我: ' + cont + '\n')
text1.config(state='disabled')
text2.delete('1.0', 'end')
text1.config(state='normal')
text1.insert(tkinter.INSERT, '夏莉: ' + req.text + '\n')
text1.config(state='disabled')
except:
messagebox.showinfo("错误", "发送失败")
return def enterkeyfunc(event):
if event.keycode == 13:
func(event) def mouseenterfunc(event):
button1['bg'] = 'green' def mouseleavefunc(event):
button1['bg'] = 'white' win = tkinter.Tk()
win.title("机器人夏莉")
# 宽度x高度+距离屏幕横向400+纵向100
win.geometry("400x500+400+100")
# 禁止最大化
win.wm_resizable(False, False) text1 = tkinter.Text(win, height=26, bg='#e6f1f1')
text2 = tkinter.Text(win, height=9, bg='white')
button1 = tkinter.Button(win, text="发送(S)", width=8, height=1) text1.pack(anchor=tkinter.N)
text2.pack(anchor=tkinter.CENTER)
button1.pack(anchor=tkinter.SE)
text1.config(state='disabled') text2.focus() # 绑定事件
button1.bind("<Button-1>", func)
button1.bind("<Enter>", mouseenterfunc)
button1.bind("<Leave>", mouseleavefunc)
text2.bind("<Key>", enterkeyfunc) 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
注:若链接失效请留言,单独发你哦!
python之GUI编程-tkinter学习的更多相关文章
- Python之GUI编程(Tkinter))
不足之处,还请海涵,请指出不足.本人发布过的文章,会不断更改,力求减少错误信息. 一.重要放在开头:模块 如出现这种错误 ModuleNotFoundError: No module named 'n ...
- python大法好——ython GUI编程(Tkinter)
Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...
- Python GUI编程(Tkinter) windows界面开发
Python实现GUI简单的来说可以调用Tkinter库,这样一般的需求都可以实现,显示简单的windows窗口代码如下: python_gui.py 1 #!C:\Python27\python.e ...
- Python:GUI库tkinter(一)
学习自: Python GUI 编程(Tkinter) | 菜鸟教程 TkDocs_官方文档 1.几个常用的Python GUI库 tkinter:Python的标准Tk GUI工具包的接口. wxP ...
- Python的GUI编程(TK)
TK在大多数 Unix平台.Windows平台和Macintosh系统都是预装好的,TKinter 模块是 Tk GUI 套件的标准Python接口.可实现Python的GUI编程. Tkinter模 ...
- GUI编程(Tkinter) 笔记分享
Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...
- Python:GUI库tkinter(三)
这一章是对前两章的总结: Python:GUI库tkinter(一) Python:GUI库tkinter(二) 前两章是对控件的介绍,第一章可以知道各控件使用时的具体参数,第二章以具体的例子展示了每 ...
- Python GUI编程--Tkinter
今天看到了GUI编程,书上推荐用wxPython,去官网上看了看,发现Windows的最高支持到2.7,我用的是3.4版本,咋办,用自带的库--Tkinter呗,它是Python的默认GUI库,几乎是 ...
- Python:GUI之tkinter学习笔记1控件的介绍及使用
相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton Canvas Entry Mes ...
随机推荐
- 中国MOOC_零基础学Java语言_第2周 判断_1时间换算
第2周编程题 查看帮助 返回 第2周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截 ...
- python3 基本数据类型_1
不得已,要学习python3了,之前了解到py2与py3有很大不同,不过学起来才能感觉到,比如print. 不过,同样的代码,可以使用py3,py2执行,结果也相似,大家可以看看. 大概因为初学,还未 ...
- 【MM系列】SAP 关于更改物料的价格控制类型
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 关于更改物料的价格控制类型 ...
- 20191127 Spring Boot官方文档学习(9.1-9.3)
9."使用方法"指南 9.1.Spring Boot应用程序 9.1.1.创建自己的FailureAnalyzer FailureAnalyzer被包装在FailureAnalys ...
- iptables添加开放端口
查看状态 iptables -L -n 编辑/etc/sysconfig/iptables -A INPUT -p tcp -m tcp --dport 4000 -j ACCEPT 重启 servi ...
- mysql常用知识点之limit
limit函数的应用.limit后面跟整数,如limit 5,表示在结果集中取前5条:limit后跟整数区间,如limit 2,5,表示在结果集中 从第3条开始,取5条数据,第一个整数表示结果集的顺序 ...
- Windows下图文详解Mongodb安装及配置
这两天接触了MongoDB数据库,发现和mysql数据库还是有很大差别的,同时使用前的配置看起来有些繁杂,踩过不少坑,其实只要一步一步搞清了,并不难. 接下来,我就整理下整个安装及配置过程. 安装的M ...
- IDEA在resources下创建多级目录
在resource下,创建多级目录,应在每个目录之间用"/"隔开,这样就不需要再手动一层层目录的分别添加了!
- Java——BufferedImage操作实例
通过鼠标位置改变图像ColorModel对象索引,从而实现图像像素自动变化 BufferedImage 由图像数据的 ColorModel 和 Raster 组成.Raster 的 SampleMod ...
- json.dumps、json.dump、json.loads、json.load的区别
json 模块提供了一种很简单的方式来编码和解码JSON数据. 其中两个主要的函数是 json.dumps() 和 json.loads() 下面是如何将Python数据结构转换为json impor ...