Python2 Tkinter 使用经验总结

最近开发一个带界面的小工具,介于之前使用wxGlade开发的工具对运行环境的要求,可移植性不好,这次就选择了Python内置模块Tkinter 进行开发,虽然界面设计过程没有wxGlade方便,但也能满足基本需求了。Python2与Python3在Tkinter 使用上差距很大,网上很多资料都是关于Python3上的使用,现总结Python2中Tkinter 的基本使用方法。

一、导入方式

from Tkinter import *

二、窗体生成

root = Tk()
root.title('test')  
root.geometry('1000x810')  #窗体大小

root.resizable(width=True, height=True)  # 窗体横向纵向是否允许拉伸设置,True为可拉伸,False为不可拉伸

。。。#控件相关命令

mainloop()  #窗体显示

三、控件使用

每个控件最后要加上.pack()否则控件是无法显示的

1、label

l = Label(root, text="show", bg="green", font=("Arial", 12), width=5, height=2).pack()

2、OptionMenu

Python2中没有下拉框的控件,Python3中有combobox,因此选取OptionMenu实现下拉框功能。

variablep = StringVar(root)    # 变量存储菜单栏当前显示的内容,可采取get()方法取当前值
variablep.set(proj_name_list[0])  #设置默认显示的值,list为下拉显示的全部内容

w=OptionMenu(root,variablep,*proj_name_list).pack()

w = apply(OptionMenu, (root, variablep) + tuple(proj_name_list)).pack()

3、button

button = Button(root, text="btn_add", command=button_add).pack()   #button_add为button click触发事件

4、Entry

vars=StringVar()

text_input=Entry(root,textvariable =vars,width=100).pack()

5、listbox

var = StringVar()

l = Listbox(self.root,  listvariable = varmilestone) 

list=['one','two','three']

for item in list:
     l.insert(END, item)   #将list的内容加入listbox
l.bind('', btn_event)

l.pack(side=TOP)

l.delete(0,END)  #清空列表框

四、布局

共有三种几何布局管理器,分别是:pack布局,grid布局,place布局。

以下链接对于布局讲解很详细

https://blog.csdn.net/junjun5156/article/details/72510927

你可能感兴趣的:(Python)