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 ...
随机推荐
- Python编程之列表操作实例详解【创建、使用、更新、删除】
Python编程之列表操作实例详解[创建.使用.更新.删除] 这篇文章主要介绍了Python编程之列表操作,结合实例形式分析了Python列表的创建.使用.更新.删除等实现方法与相关操作技巧,需要的朋 ...
- HTML真是好东西!
HTML真是好东西! 学习HTML已经两天了,别小看这两天哦,这短短的两天估计要比学校的四周还要长.不仅有教学,还有同学与老师之间的交流,最重要的是自己上机实践的过程.在这个过程中,不仅知道了在HTM ...
- LeetCode.872-叶子值相等的树(Leaf-Similar Trees)
这是悦乐书的第334次更新,第358篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第204题(顺位题号是872).考虑二叉树的所有叶子,从左到右的顺序,这些叶子的值形成叶 ...
- MSSQL注入--反弹注入
明明是sql注入的点,却无法进行注入,注射工具拆解的速度异常的缓慢,错误提示信息关闭,无法返回注入的结果,这个时候你便可以尝试使用反弹注入, 反弹注入需要依赖于函数opendatasource的支持, ...
- Java程序的运行过程,以及Java为什么能够跨平台
Java程序运行机制 Java的运行主要分两步:先编译再解释执行 (1)先通过“编译器”将Java源程序(.java)编译成Java字节码文件(.class) (2)通过不同的虚拟机(JVM)将字节 ...
- 深入分析微博密码加密and百万级数据采集分享(登录篇)
一.前言 此文章主要是对微博微博关键词的检索结果进行采集,但是微博的采集需要登陆,所以此程序分为登陆程序和爬虫程序两部分: 微博要实现规模性数据采集自然少不了大量账号,这就需购买大量账号以及批量登陆, ...
- git自动上传脚本及基本代码
git_auto.bat git add . git add -A git add -u git commit -m "text" git pull --rebase origin ...
- Django中Model进阶操作
一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 pr ...
- 基于BufferedImage的图像滤镜演示
package chapter2; import javax.imageio.ImageIO;import javax.swing.*;import javax.swing.filechooser.F ...
- liunx驱动----信号量的实现
使用信号量必须包含 <asm/semaphore.h> 头文件.其中相关结构体 struct semaphore 可以通过以下几种方式来声明或者初始化. 1.void sema_in ...