zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python Tkinter+py2exe[通俗易懂]

Python 通俗易懂 tkinter py2exe
2023-06-13 09:13:38 时间

大家好,又见面了,我是你们的朋友全栈君

最近写小工具,用了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()

效果图:点击按钮

第二波:单选按钮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“按钮

第三波:将下拉菜单放在任意位置,并为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“按钮

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在同一目录下:这样避免设置路径问题

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

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

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

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