Python Tkinter+py2exe[通俗易懂]

Python Tkinter+py2exe[通俗易懂]最近写小工具,用了pyhon的Tkinter,mark一下,省的到处去找。。。第一波:标签Label,文本框Entry,按钮Button,Text文本域#coding:utf-8fromTkinterimport*root=Tk()#创建主窗口label=Label(master=root,text=”这是一个标签”)label.grid(row=0,c

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

最近写小工具,用了pyhon的Tkinter,mark一下,省的到处去找。。。

第一波:标签Label,文本框Entry,按钮Button,Text文本域

#coding:utf-8
from Tkinter import *

root = Tk() #创建主窗口

label = Label(master=root,text="这是一个标签")
label.grid(row=0,column=0,sticky='w')#grid布局器,row表示标签在第几行,column表示标签在第几列,sticky表示标签对齐方式
#n/s/w/e 表示 上/下/左/右(北/南/西/东)

#其实上面的label变量没什么用,可以如下:
Label(master=root,text="请在这里输入点什么").grid(row=1,column=0,columnspan=2,sticky='e')#columnspan表示跨几列,rowspan表示跨几行

#文本框
var = StringVar() #捕获文本框输入的内容
Entry(master=root,textvariable=var).grid(row=1,column=3)#文本框和变量var关联起来,这样就可以捕获键盘输入

#文本域,用于显示输出
text = Text(master=root,height=10,width=50)

def fun():
    text.insert(END,"点击按钮将会将用户的输入 输出到文本域\n")#向文本域输出内容
    if not var.get():
        text.insert(END,"麻烦先在文本框输入一点内容\n")
    else:
        varStr = var.get()
        text.insert(END,varStr+"\n")
#按钮
Button(master=root,text="这是一个按钮",command=fun).grid(row=1,column=4,sticky='e')

#text的布局一定要放在后面,否则报错...
text.grid(row=2)#height和width用于指明高度和宽度
#事件循环
root.mainloop()

效果图:点击按钮

Python Tkinter+py2exe[通俗易懂]

Python Tkinter+py2exe[通俗易懂]

第二波:单选按钮Menubutton菜单按钮

#coding:utf-8
from Tkinter import *

root = Tk()

text = Text(master=root)

#单选按钮
var = StringVar()
def fun_1():
    text.insert(END,var.get()+"\n")
def fun_2():
    text.insert(END,var.get()+"\n")
Radiobutton(master=root,text="选择1",variable=var,value="输出选择1",command=fun_1).grid(row=0,column=0)
Radiobutton(master=root,text="选择2",variable=var,value="输出选择2",command=fun_2).grid(row=0,column=1)

#创建下拉菜单
menubar = Menu(root)
#每次打印出当前选中的语言
def fun_4():
    text.insert(END,"fun_4\n")
menuOne = Menu(menubar,tearoff = 0)
menuOne.add_command(label="First",command=fun_4)
menuOne.add_separator()
menuOne.add_command(label="Exit",command=root.quit)#退出按钮
menubar.add_cascade(label = '下拉菜单',menu = menuOne)
root['menu'] = menubar

text.grid(row=2,columnspan=2)
root.mainloop()

效果图:点击“选择1”按钮,下拉菜单”First“按钮

Python Tkinter+py2exe[通俗易懂]

Python Tkinter+py2exe[通俗易懂]

第三波:将下拉菜单放在任意位置,并为Text添加滚动条

#coding:utf-8
from Tkinter import *

root = Tk()

text = Text(master=root)

#将下拉菜单添加到任意位置
def fun_1():
    text.insert(END,"fun_1\n")
def fun_2():
    text.insert(END,"fun_2\n")
menuButton = Menubutton(root,text = '下拉菜单')
menuButton.menu = Menu(menuButton)
#生成菜单项
menuButton.menu.add_command(label = "1",command=fun_1)
menuButton.menu.add_command(label = "2",command=fun_2)
menuButton['menu'] = menuButton.menu
menuButton.grid(row=0,column=2)

text.grid(row=1,column=0,columnspan=3)
#添加滚动条
scrollBar = Scrollbar(root)
scrollBar['command'] = text.yview#等价于scrollBar.config( command = text.yview )
scrollBar.grid(row=1,column=3)

root.mainloop()

效果图:点击下拉菜单的”1“按钮

Python Tkinter+py2exe[通俗易懂]Python Tkinter+py2exe[通俗易懂]

py2exe可以将python程序转为exe程序:

首先下载py2exe:点击打开链接,然后安装它

然后在需要打包的py文件目录下新建一个setup.py,假设待带包的文件是tk.py

#coding:utf-8
from distutils.core import setup
import py2exe

setup(windows=["tk.py"])#windows表示GUI程序,如果是控制台程序请将windows替换为console,tk.py是待打包的文件

tk.py和setup.py在同一目录下:这样避免设置路径问题

Python Tkinter+py2exe[通俗易懂]

然后cmd进入该目录,执行:python setup.py py2exe

执行成功后目录下会多一个dist文件夹,dist文件夹下就有一个与pyhont脚本同名exe程序,点击这个exe即可运行

Python Tkinter+py2exe[通俗易懂]

Python Tkinter+py2exe[通俗易懂]

Python Tkinter+py2exe[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195378.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Windows Mobile 6.1 on T-Mobile MDA Pro 1970

    Windows Mobile 6.1 on T-Mobile MDA Pro 1970

    2022年3月12日
    42
  • Java 封装的详解

    Java 封装的详解我们日常使用的电脑主机 把 cpu 内存 主板等等都封装到机箱里面去 假如没有机箱的话的出现什么问题 主机 主板全部都散落在一处 然后开机没有开机按钮 那么需要我们直接操作接跳线才能把电脑开启 这样子的话假如操作不慎的话 会让机器损坏危险 那么假如用机箱封装起来的话 那么就不需要这样子做了 体现了封装的 安全特性 你拿电脑去加内存 可以直接给电脑给维修的人 等他加好内存了之后 你拿到的还是那

    2025年7月1日
    0
  • HttpCanary下载_简单自我介绍网页代码

    HttpCanary下载_简单自我介绍网页代码前言首先,我们无论学习哪个框架,都要带着问题,带着思考去学习思考1:HttpRunner是什么?思考2:HttpRunner的设计模式是什么?思考3:为什么我们要学习HttpRunner?他的

    2022年7月30日
    3
  • Vue学习笔记之Es6转ES5的babel应用

    Vue学习笔记之Es6转ES5的babel应用1、由于目前ES6还不能很好的支持目前常见的浏览器,所以在打包的时候将ES6的代码转换为ES5,转换时可以通过babel进行转换;2、官网说明:3、环境配置,为了更好地匹配项目环境,我这边安装的是7的版本:cnpminstall–save-devbabel-loader@7babel-corebabel-preset-es2015可以使用options属性来给loader传递选项:4、重新编译后,发现编译后的js文件中,没有了ES6中的const,全部通过E

    2022年9月24日
    1
  • 深度学习—3.Pytorch基础

    深度学习—3.Pytorch基础

    2021年10月6日
    39
  • js 的forEach 如何跳出循环「建议收藏」

    js 的forEach 如何跳出循环「建议收藏」forEach()方法用于调用数组的每个元素,并将元素传递给回调函数。对于空数组不会执行回调函数回调函数的参数function(currentValue,index,arr)currentValue必需。当前元素index可选。当前元素的索引值…

    2022年6月4日
    128

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号