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


相关推荐

  • MATLAB入门教程

    MATLAB入门教程MATLAB入门教程

    2022年8月2日
    4
  • Linux 最常用命令整理,建议收藏!

    Linux 最常用命令整理,建议收藏!

    2022年2月17日
    51
  • JavaScript 数组排序——快速排序[通俗易懂]

    JavaScript 数组排序——快速排序[通俗易懂]数组中的快速排序就是取原始数组中的一个元素最为基点,小于基点的放在一个数组中,大于基点的放在一个数组中,无限循环,知道将数组分解到长度(length<1)停止vararr=[12,3,569,78,0,-56,-56,-56,1223,11,16,13,1];functionquickSort(arr){if(arr.length<1)returnarr;分解数组,长度小于1的时候停止执行varmiddle=pa…

    2022年5月1日
    37
  • malloc函数java_malloc函数详解及用法举例[通俗易懂]

    malloc函数java_malloc函数详解及用法举例[通俗易懂]malloc动态内存分配函数原理详解及编程用法举例(本文由www.169it.com搜集整理)malloc函数函数原型定义void*malloc(size_tsize);malloc函数原型说明malloc函数向系统申请分配size个字节的内存空间。返回值类型是void*类型。void*表示未确定类型的指针。c,c++规定,void*类型可以强制转换为任何其它类型的指针。malloc动…

    2022年5月5日
    127
  • 同济大学老师邮箱汇总

    同济大学老师邮箱汇总本文所列老师邮箱都是同济大学邮箱。姓名:殷俊锋学院:数学科学学院(计算数学)职称:教授邮箱:yinjf@tongji.edu.cn姓名:杨筱菡学院:数学科学学院(概率与统计)职称:副教授

    2022年7月3日
    70
  • 十种常用代码编辑器

    十种常用代码编辑器1.vscode微软推出的轻量级代码编译器,是本人使用最多的编译器(主要是好玩的插件多),支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比Diff、GIT等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。分享下本人的死宅背景~2.NETBEANSNetBeans是Sun公司(2009年被甲骨文收购)在2000年创立的开放源代码供开发人员和客户社区的家园,旨在构建世界级的JavaIDE。NetBeans当前可以在Solaris、Win

    2022年6月23日
    144

发表回复

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

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