推荐几个学习网址: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学习的更多相关文章

  1. Python之GUI编程(Tkinter))

    不足之处,还请海涵,请指出不足.本人发布过的文章,会不断更改,力求减少错误信息. 一.重要放在开头:模块 如出现这种错误 ModuleNotFoundError: No module named 'n ...

  2. python大法好——ython GUI编程(Tkinter)

    Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...

  3. Python GUI编程(Tkinter) windows界面开发

    Python实现GUI简单的来说可以调用Tkinter库,这样一般的需求都可以实现,显示简单的windows窗口代码如下: python_gui.py 1 #!C:\Python27\python.e ...

  4. Python:GUI库tkinter(一)

    学习自: Python GUI 编程(Tkinter) | 菜鸟教程 TkDocs_官方文档 1.几个常用的Python GUI库 tkinter:Python的标准Tk GUI工具包的接口. wxP ...

  5. Python的GUI编程(TK)

    TK在大多数 Unix平台.Windows平台和Macintosh系统都是预装好的,TKinter 模块是 Tk GUI 套件的标准Python接口.可实现Python的GUI编程. Tkinter模 ...

  6. GUI编程(Tkinter) 笔记分享

    Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...

  7. Python:GUI库tkinter(三)

    这一章是对前两章的总结: Python:GUI库tkinter(一) Python:GUI库tkinter(二) 前两章是对控件的介绍,第一章可以知道各控件使用时的具体参数,第二章以具体的例子展示了每 ...

  8. Python GUI编程--Tkinter

    今天看到了GUI编程,书上推荐用wxPython,去官网上看了看,发现Windows的最高支持到2.7,我用的是3.4版本,咋办,用自带的库--Tkinter呗,它是Python的默认GUI库,几乎是 ...

  9. Python:GUI之tkinter学习笔记1控件的介绍及使用

    相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton Canvas Entry Mes ...

随机推荐

  1. Delphi XE2 之 FireMonkey 入门(31) - 数据绑定: 绑定数据库

    Delphi XE2 之 FireMonkey 入门(31) - 数据绑定: 绑定数据库 一.全设计时操作: 先在窗体上放置控件: DataSource1    : TDataSource; Clie ...

  2. html5获取位置信息,h5获取位置信息

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. python+selenium上传文件——input标签

    我们要区分出上传按钮的种类,大体上可以分为两种: 第一种普通上传:将本地文件路径作为一个值,放在input标签中,通过form表单将这个值提交给服务器: 第二种插件上传:是通过Flash.JavaSc ...

  4. spring - 第N篇 一些笔记

    1.properties文件的引入 <bean id="propertyConfigurer" class="org.springframework.beans.f ...

  5. Maven 项目中的groupId和artifactId

    maven进行项目管理,如果我们要将项目加入到maven到本地仓库中,则需要对项目进行唯一性标示,而groupId和artifactId就起到这样对作用. groupId为项目组织对唯一标识符,可以理 ...

  6. Javascript原型介绍

    原型及原型链 原型基础概念 function Person () { this.name = 'John'; } var person = new Person(); Person.prototype ...

  7. Spark-Core RDD转换算子-双Value型交互

    1.union(otherDataSet) 作用:求并集. 对源 RDD 和参数 RDD 求并集后返回一个新的 RDD scala> val rdd1 = sc.parallelize(1 to ...

  8. MySQL插入emoji表情报错 SQLException: Incorrect string value 的两种解决方案

    摘抄自:https://blog.csdn.net/dmw412724/article/details/81119325 原因:mysql的UTF-8只支持三个字节的存储,而一般字符是三个字节,但是e ...

  9. RabbitMq学习1-介绍、安装和配置

    一.简介 1.MQ框架非常之多,比较流行的有RabbitMq.ActiveMq.ZeroMq.kafka,以及阿里开源的RocketMQ       2.AMQP是消息队列的一个协议. 3.Rabbi ...

  10. activemq高可用

    这里是基于 zookeeper 选举方式实现的集群配置,服务器过半数才可提供服务,所以是2n+1台这里以三台为例. 只有master节点能提供服务,slave节点无法提供服务,只有当master节点挂 ...