Tkinter编程实例
#!/usr/bin/python
#coding:utf-8from Tkinter import *
import sysreload(sys)
sys.setdefaultencoding('utf-8')class GUI_WINDOWS:def __init__(self, root):self.root = Frame(root)self.driver = Noneself.friendEdit = Noneself.bStopQuery = Falseself.loadFileName = ''self.var = StringVar()self.var1 = StringVar()self.RbtnVar = IntVar()self.RbtnVar.set(1)self.Rbtn1 = Radiobutton(root, variable=self.RbtnVar, value=1,command = self.Rbtn1Click,text="手机号段:",font=('Arial', 12))self.Rbtn1.grid(row=0,sticky=W)self.e1 = Entry(root,font=('Arial', 12), textvariable = self.var, width = 15)self.e1.grid(row=0, column=1,columnspan=2,sticky=E)self.e2 = Entry(root,font=('Arial', 12), textvariable = self.var1, width = 15)self.e2.grid(row=1, column=1,columnspan=2,sticky=E)self.Rbtn2 = Radiobutton(root, variable=self.RbtnVar, value=2,command = self.Rbtn2Click,text="加载手机号:",font=('Arial', 12),)self.Rbtn2.grid(row=2,sticky=W)self.btnOpen = Button(root, text = '选择文件',state = DISABLED,width = 14,font = ('Arial', 12), command = self.openFile)self.btnOpen.grid(row=2,column=1,columnspan=2,sticky=E)self.btnStartQuery = Button(root, text='开始查询',command=self.startQuery)self.btnStartQuery.grid(row=3, column=1,sticky=W)self.btnStopQuery = Button(root, text='停止查询',state = DISABLED, command=self.stopQuery)self.btnStopQuery.grid(row=3, column=2,sticky=E)self.text_msg = Text(root,height=10,width=30,font=('Arial', 12));self.text_msg.grid(row=4, columnspan=4,rowspan=2,sticky=W)self.root.update_idletasks()def Rbtn1Click(self):self.btnOpen['state'] = DISABLEDself.e1['state'] = NORMALself.e2['state'] = NORMALdef Rbtn2Click(self):self.btnOpen['state'] = NORMALself.e1['state'] = DISABLEDself.e2['state'] = DISABLEDdef openFile(self):import tkFileDialog self.loadFileName = tkFileDialog.askopenfilename(title = "选择要加载的文件",filetypes=[('文本文件','*.txt')])def stopQuery(self):self.bStopQuery = Truedef startQuery(self):self.btnStartQuery['state'] = DISABLEDself.btnStopQuery['state'] = NORMALself.text_msg.delete(0.0, END)self.text_msg.update()# 手机号段if self.RbtnVar.get() == 1:strNum1 =self.var.get()strNum2 =self.var1.get()# 从文件加载if self.RbtnVar.get() == 2:self.text_msg.insert(END,text1)self.text_msg.insert(END,text2)self.text_msg.update() if self.bStopQuery:self.bStopQuery = Trueself.btnStartQuery['state'] = NORMALself.btnStopQuery['state'] = DISABLEDdef main():master = Tk()master.title("手机号查询")# master.geometry('300x200')master.resizable(width=False, height=False)GUI_WINDOWS(master)master.mainloop()if __name__ == '__main__':main()
参考:
- 英文http://www.tutorialspoint.com/python/python_gui_programming.htm
- 中文http://www.yiibai.com/python/python_gui_programming.html
- Tkinter个控件具体应用实例