最近写小工具,用了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()
第三波:将下拉菜单放在任意位置,并为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()
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是待打包的文件
然后cmd进入该目录,执行:python setup.py py2exe
执行成功后目录下会多一个dist文件夹,dist文件夹下就有一个与pyhont脚本同名exe程序,点击这个exe即可运行