打字的小强 发表于 2020-3-15 11:24

python 图形化界面 tkinter使用,并用pyinstaller打包。

本帖最后由 打字的小强 于 2020-3-15 12:37 编辑

只会用按键精灵和python,想做图形化界面。想做个教程分享一下真的很简单。
最初开始看B站莫烦的教程,好久忘了,今天自己想做个界面玩玩,并打包成exe玩一下。
直接上手,再翻到莫烦的教程直接看最后,把代码复制,然后改改就可以了。
我的目的很简单,只有一个窗口的图形化界面,并像很多易语言程序一样有一个调试输出的窗口。

按照惯例展示一下我的成品。

下面开始讲解代码。

# -*- coding: UTF-8 -*-
import tkinter as tk#安装python,自带这个包
from tkinter import END#单独把这个申明是因为后面的往text控件插入内容会报错

# 一个顶层窗口的实例(Top Level),也称为根窗口
# #------------------------------窗口-----------------------------------#
window = tk.Tk()#创建最上层主窗口
window.title("小工具") #窗口标题
window.geometry("900x600") #窗口大小,中间是英文x,而不能是运算符*,很搞笑

#lable 组件是显示文字或图片,第一个参数是父窗口名称。
#text,参数显示内容,\n用来换行。每一行居中显示,靠左显示没研究,不需要,没那么高的要求。
#font字体,窗口太大,不设置字体,就会很小。
#place是依据主窗口的相对位置,,x就是x轴,下面所有的控件都需要这样定位
tk.Label(window,text="使用说明:\n1.TOKEN是登陆后的获取加密请求参数;\n2.TOKEN两小时更新一次,需要手动抓包获取;\n3.ID是资源唯一id,需要自己手动查对照表",font=("华文行楷", 20)).place(x=50,y=20)
tk.Label(window,text="TOKEN:",font=("华文行楷", 20)).place(x=50,y=150)
tk.Label(window,text="ID:",font=("华文行楷", 20)).place(x=50,y=200)

#Text组件用于显示和处理多行文本。我用来展示程序的运行状态,输出到这个组件里面
show_text = tk.Text()
show_text.place(x=320,y=150)

#Entry输入框,输入的值必须要定义,这里定义成字符串类型
var_token = tk.StringVar()
var_id = tk.StringVar()

#Entry输入框,输入的值必须要定义
entry_token = tk.Entry(window,textvariable = var_token)
entry_token.place(x=160,y=150)

#Entry输入框
entry_id = tk.Entry(window,textvariable = var_id)
entry_id.place(x=160,y=200)

#按钮组件点击触发的函数,我把输入框的获取到的两个值输出到Text控件
#END就是插入到Text控件里面最后。
#.get就是获取目标的输入框的方法
def get_tar():
      token =var_token.get()
      ids =var_id.get()

      show_text.insert(END, '获取到的token:'+token+ ';获取到的id:'+ids)

#Button组件,按钮组件,主要是触发一些功能,command指向一个函数就只触发的功能函数
get_detail = tk.Button(window,text='获取',font='20',command = get_tar)
get_detail.place(x=170,y=230)


#启动主窗口循环
window.mainloop()

#---------------------------------窗口--------------------------------------#

新手用Text插入的时候会莫名的报错

需要单独导入 END关键字,stack overflow有说明。真的牛逼,搜了半天
from tkinter import END

下面来讲解一下pyinstaller 打包成exe,先pip 安装。
安装命令 :pip install pyinstaller。安装完成后找了半天教程,屡次失败。,还要配置pyinstaller环境变量???
废话不多说。把想要打包的py文件,放在一个没有中文字符的路径    .shift +鼠标右键打开命令窗口
python -m PyInstaller ****.py      
注意大小写,都是小写会出现找不到这个包的报错!!!

等待命令执行完成,在命令执行的目录下生成很多文件夹。在命令运行的dist文件目录下面找一个exe文件执行就OK了,功能一切正常。

打包环境是Window7系统还没到其他平台测试。py导入的包只有tkinter。不知道导入其他的包会不会报错。
讲完了,感谢大家支持,是不是很简单{:1_907:}

zhaoyun007 发表于 2020-3-15 11:58

genius_7321 发表于 2020-11-22 11:29

Zeaf 发表于 2020-3-16 10:26
反正感谢楼主,让我发现了新大陆
打包那个问题好像没得办法...就是这么大还不如自己 ...

打包的话不要直接import tkinter,这样直接导入整个包,肯定大啊,要用到哪个import哪个,文件就小了,

ytfrdfiw 发表于 2020-3-15 11:37

顶一个。

吾爱老司机250 发表于 2020-3-15 11:55

这个不错

iwcno1 发表于 2020-3-15 12:02

学习下。{:1_893:}

Norton 发表于 2020-3-15 12:23

楼主给力,多谢分享。

qet006 发表于 2020-3-15 12:40


学习下。谢谢分享

17771425895 发表于 2020-3-15 15:18

刚接触tkinter,没看懂这个软件的作用是什么

lzbnet 发表于 2020-3-15 15:35

顶一个,不错的东西

mokson 发表于 2020-3-15 16:04

页: [1] 2 3 4
查看完整版本: python 图形化界面 tkinter使用,并用pyinstaller打包。