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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SpringBoot声明式事务的简单运用

    SpringBoot声明式事务的简单运用关于事物的基本概念等这里就不介绍了。Spring声明式事物的实现,有两种方式;第一种是配置xml,第二种是使用相关注解(这两种方式可详见《程序员成长笔记(一)》的相关章节)。SpringBoot中默认配置了第二种方式,所以,SpringBoot直接使用注解即可。下面介绍SpringBoot通过注解开启事物的使用。SpringBoot使用事物的步骤:第一步:在启动类上开启…

    2022年5月30日
    37
  • rtmp协议详解_rtmp服务器

    rtmp协议详解_rtmp服务器前言最近在学习rtmp协议,在看官方文档的时候总是懵懵懂懂,硬生生看了两天,现在基本上了解rtmp协议了,想用自己觉得比较清晰的方式来讲解rtmp协议,希望能够对向我一样的初学者有所帮助。本文将通过以下四部分讲解rtmp协议。1、消息2、块3、rtmp的消息类型4、实例分析rtmp传输过程一、消息消息是rtmp的基本数据单元,服务端和客户端通过在网络上发送RTMP消息进行通讯。…

    2025年8月21日
    3
  • iic通信协议原理(https协议原理)

    一、基本概念。I2C总线(I2Cbus,Inter-ICbus)是一个双向的两线连接总线,提供集成电路之间的通信线路。I2C属于一种串行扩展技术,广泛应用于电视、录像机、音频设备。I2C的意思是“完成集成电路或者功能单元之间信息交换的规范或协议”,采用一条数据线(SDA)和一条时钟线(SCL)来完成数据的传输以及外围器件的扩展。通信的原理是控制SCL和SDA的时序,时期满足总线协议从而进…

    2022年4月14日
    53
  • 阿里java高级工程师面试100题「建议收藏」

    阿里java高级工程师面试100题「建议收藏」大型网站架构技术QQ群:3686148491,java堆,分新生代老年代,新生代有Eden,fromsurviver,tosurviver三个空间,堆被所有线程共。eden内存不足时,发生一次minorGC,会把fromsurvivor和eden的对象复制到tosurvivor,这次的to survivor就变成了下次的fromsurvivor,经过多次minorGC,默认15次…

    2022年6月9日
    58
  • 系统架构与高可用

    系统架构与高可用

    2020年11月12日
    186
  • 计算机与打印机未连接,win7系统无法打印提示似乎未连接打印机的恢复步骤

    计算机与打印机未连接,win7系统无法打印提示似乎未连接打印机的恢复步骤win7系统使用久了,好多网友反馈说win7系统无法打印提示似乎未连接打印机的问题,非常不方便。有什么办法可以永久解决win7系统无法打印提示似乎未连接打印机的问题,面对win7系统无法打印提示似乎未连接打印机到底该如何解决?其实只需要首先我们需要检查一下打印机的驱动是否正常,右键点击桌面上的“此电脑”图标,在弹出菜单中选择“属性”菜单项,这时会打开windows10系统的系统窗口,点击左侧边栏的…

    2022年6月12日
    46

发表回复

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

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