吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8960|回复: 33
收起左侧

[Python 转载] python 图形化界面 tkinter使用,并用pyinstaller打包。

  [复制链接]
打字的小强 发表于 2020-3-15 11:24
本帖最后由 打字的小强 于 2020-3-15 12:37 编辑

只会用按键精灵和python,想做图形化界面。想做个教程分享一下真的很简单。
最初开始看B站莫烦的教程,好久忘了,今天自己想做个界面玩玩,并打包成exe玩一下。
直接上手,再翻到莫烦的教程直接看最后,把代码复制,然后改改就可以了。
我的目的很简单,只有一个窗口的图形化界面,并像很多易语言程序一样有一个调试输出的窗口。
1111.png
按照惯例展示一下我的成品。
123123.png
下面开始讲解代码。
[Python] 纯文本查看 复制代码
# -*- 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插入的时候会莫名的报错
333.png
需要单独导入 END关键字,stack overflow有说明。真的牛逼,搜了半天
from tkinter import END
   Snipaste_2020-03-15_10-10-42.png
下面来讲解一下pyinstaller 打包成exe,先pip 安装。
安装命令 :pip install pyinstaller。安装完成后找了半天教程,屡次失败。,还要配置pyinstaller环境变量???
废话不多说。把想要打包的py文件,放在一个没有中文字符的路径    .shift +鼠标右键打开命令窗口
python -m PyInstaller ****.py      
注意大小写,都是小写会出现找不到这个包的报错!!!
4444.png 5555.png
等待命令执行完成,在命令执行的目录下生成很多文件夹。在命令运行的dist文件目录下面找一个exe文件执行就OK了,功能一切正常。
6666.png 7777.png
打包环境是Window7系统还没到其他平台测试。py导入的包只有tkinter。不知道导入其他的包会不会报错。
讲完了,感谢大家支持,是不是很简单

免费评分

参与人数 7吾爱币 +7 热心值 +7 收起 理由
fengoto + 1 + 1 用心讨论,共获提升!
853679185 + 1 + 1 牛逼!
Zeaf + 1 + 1 教程很详细,我学会了,谢谢老哥。
mengqiu + 1 + 1 小白都能懂的就是好教程。
zz77244920 + 1 + 1 用心讨论,共获提升!
Cccy211 + 1 + 1 谢谢@Thanks!
hanshi + 1 + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
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
学习下。
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
PY输出exe,体积太肥胖。有没有办法让输出的exe文件轻巧的呢?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-6-1 09:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表