zoukankan      html  css  js  c++  java
  • 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

    一、源代码

     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 
    注:若链接失效请留言,单独发你哦!

  • 相关阅读:
    .NET Core VS Code 环境配置
    系统架构正交分解法
    面向接口可扩展框架之“Mvc扩展框架及DI”
    发送和接收数据包
    Easticsearch通信方式_API
    Web Api集成Swagger
    NET MVC RazorEngine 解析模板生成静态页
    NET单元测试的艺术
    NET平台机器学习组件-Infer.NET
    ActiveMQ相关背景(转)
  • 原文地址:https://www.cnblogs.com/zhuanjiao/p/11588346.html
Copyright © 2011-2022 走看看