python tkinter控件布局项目实例
这篇文章主要介绍了pythontkinter控件布局项目实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
代码部分:
fromtkinterimport* importtkinter.messageboxasmessagebox classTkdemo(): def__init__(self): master=Tk() master.title("missWjz") master.geometry('800x800') #创建菜单栏 menubar=Menu(master) master.config(menu=menubar) #创建下拉菜单栏 filemenu=Menu(menubar,tearoff=0) menubar.add_cascade(label="文件",menu=filemenu) filemenu.add_command(label="新建",command=self.newfile) filemenu.add_command(label="打开",command=self.openfile) filemenu.add_command(label="保存",command=self.savefile) #增加分割线 filemenu.add_separator() filemenu.add_command(label="关闭填写",command=master.quit) #Label(文字) title=Label(master,text="这是一份Tkinter的问卷调查",font=15,bg='white',fg='red') title.pack() #Frame将问题1放在frame_1中 frame_1=Frame(master) frame_1.pack(fill=X) #问题1 label_1=Label(frame_1,text="1、我们第一次见面的地方?") label_1.grid(row=1,column=0) #Entry问题一的输入框 self.name=StringVar() entryname=Entry(frame_1,textvariable=self.name) #通过grid方法定位 entryname.grid(row=1,column=1) #Button按钮 getname=Button(frame_1,text="点击确认",command=self.getname) getname.grid(row=1,column=3) #Frame将问题二放在frame_2中 frame_2=Frame(master) frame_2.pack(fill=X) #Label问题二 label_2=Label(frame_2,text="2、我记得你生日") label_2.grid(row=1,column=0) #Radiobutton选择按钮 self.sex=StringVar() sex_male=Radiobutton(frame_2,text='记得',fg='blue',variable=self.sex,value='记得',command=self.getsex) sex_male.grid(row=1,column=2) sex_female=Radiobutton(frame_2,text='不可能',fg='red',variable=self.sex,value="不可能",command=self.getsex) sex_female.grid(row=1,column=4) #Frame问题3放在frame_3中 frame_3=Frame(master) frame_3.pack(fill=X) #Label问题3 label_3=Label(frame_3,text="3、你对我的重要性:") label_3.grid(row=1,column=0) #Scale滑动条 self.age=Scale(frame_3,from_=0,to=100,orient=HORIZONTAL,resolution=1) self.age.grid(row=1,column=1) #Button按钮 getage=Button(frame_3,text='点我确认',command=self.getage) getage.grid(row=1,column=2) #问题4置于Frame_4中 frame_4=Frame(master) frame_4.pack(fill=X) #问题四 label_4=Label(frame_4,text="4、去除一段过去:") label_4.grid(row=1,column=0) #列表 self.listbox=Listbox(frame_4) self.listbox.grid(row=1,column=1) foritemin["第一次看电影","第一次拍照留影","第一次一起吃饭","第一次一起出去玩"]: self.listbox.insert(END,item) #s删除按钮 DELE=Button(frame_4,text="删除",command=lambdalistbox=self.listbox:listbox.delete(ANCHOR)) DELE.grid(row=1,column=1) #确认按钮 review=Button(frame_4,text='点我确认',command=self.review) review.grid(row=1,column=2) #问题五 frame_5=Frame(master) frame_5.pack(fill=X) label_5=Label(frame_5,text='5、选择一个图案:') label_5.grid(row=1,column=0) self.canvas=Canvas(frame_5,width=200,height=200,bg='white') self.canvas.grid(row=1,column=1) self.pattern=StringVar() #图案选择按钮 btn_first=Button(frame_5,text="第一个",command=self.First_display) btn_second=Button(frame_5,text="第二个",command=self.Second_dispaly) btn_third=Button(frame_5,text="第三个",command=self.Third_display) btString=Button(frame_5,text="确定",command=self.displayString) btn_first.grid(row=2,column=2) btn_second.grid(row=2,column=3) btn_third.grid(row=2,column=4) btString.grid(row=2,column=5) #问题六Frame_6 frame_6=Frame(master) frame_6.pack(fill=X) label_6=Label(frame_6,text="6、在一起的天数:") label_6.grid(row=1,column=0) #(Spinbox) self.number=Spinbox(frame_6,from_=0,to=200) self.number.grid(row=1,column=1) #确定按钮 number=Button(frame_6,text="确定",command=self.getnumber) number.grid(row=1,column=2) #问题7frame_7 frame_7=Frame(master) frame_7.pack(fill=X) #问题 label_7=Label(frame_7,text="7、印象最深的一天:") label_7.grid(row=1,column=0) #滚轮 scrollbar=Scrollbar(frame_7) scrollbar.grid(row=1,column=1) #列表 self.listbox2=Listbox(frame_7,height=5,yscrollcommand=scrollbar.set) foriinrange(99): self.listbox2.insert(END,str(i)) self.listbox2.grid(row=1,column=1) #确定按钮 star=Button(frame_7,text="确定",command=self.getstar) star.grid(row=2,column=1) #问题8 frame_8=Frame(master) frame_8.pack(fill=X) self.agree=StringVar() #Checkbutton勾选按钮 agree=Checkbutton(frame_8,text="我确定此问卷信息准确无误",variable=self.agree,offvalue='不确定',command=self.getagree) agree.grid(row=1,column=1) #问题9Frame_9 frame_9=Frame(master) frame_9.pack() submit=Button(frame_9,text="提交",command=self.allsubmit) submit.grid(row=1,column=1) #问题十 frame_10=Frame(master) frame_10.pack() #容器框 self.group=LabelFrame(frame_10,text="特别鸣谢",padx=5,pady=5) self.group.grid() w=Label(self.group,text="本问卷由衷感谢:https://github.com/James95107/Tkinter/blob/master") w.pack() master.mainloop() defgetname(self): name=self.name.get() print(name) defgetsex(self): sex=self.sex.get() print(sex) defgetage(self): print(self.age.get()) defreview(self): print(self.listbox.get(0,END)) defgetstar(self): print(self.listbox2.get(ACTIVE)) defdisplayString(self): self.canvas.create_text(60,40,text="您真棒!!!",font="Tine10boldunderline",tags="string") print(self.pattern) defgetnumber(self): print(self.getnumber()) defgetagree(self): print(self.agree.get()) #打印心形 defFirst_display(self): self.canvas.create_arc((5,5,85,85), width=2, outline="red", start=0, extent=180, style=ARC) self.canvas.create_arc((85,5,165,85), width=2, outline="red", start=0, extent=180, style=ARC) self.canvas.create_arc((5,-45,165,125), width=2, outline="red", start=180, extent=180, style=ARC) self.pattern='First' #打印丘比特心形 defSecond_dispaly(self): self.canvas.create_line((0,55,200,55), width=2, fill='red', arrow=LAST, arrowshape=(20,40,10) ) self.canvas.create_arc((5,5,85,85), width=2, outline="red", start=0, extent=180, style=ARC) self.canvas.create_arc((85,5,165,85), width=2, outline="red", start=0, extent=180, style=ARC) self.canvas.create_arc((5,-45,165,125), width=2, outline="red", start=180, extent=180, style=ARC) self.pattern='Second' #打印爱心 defThird_display(self): self.canvas.create_text((90,70),text="武峻竹", font=('微软雅黑',20,'bold'), fill='red' ) self.canvas.create_arc((5,5,85,85), width=2, outline="red", start=0, extent=180, style=ARC) self.canvas.create_arc((85,5,165,85), width=2, outline="red", start=0, extent=180, style=ARC) self.canvas.create_arc((5,-45,165,125), width=2, outline="red", start=180, extent=180, style=ARC) self.pattern='Third' #属性 #文件栏 defnewfile(self): self.file=open(r"wujunzhu.txt",'w') self.file.close() messagebox.showinfo("创建文件","您已经成功创建个人资料文档")#显示对话框 defopenfile(self): f=open(r"wujunzhu.txt",'r') try: f_read=f.read() print(f_read) finally: f.close() defsavefile(self): messagebox.showwarning("保存文件","提交即保存!") defallsubmit(self): withopen('D:cpwords.txt','w',encoding='utf-8')asf: f.write('我们第一见面的地方是:') f.write(self.name.get()) f.write('\n我记得你生日:') f.write(self.sex.get()) f.write('\n你对我的重要性:') f.write(str(self.age.get())) f.write('\n要去除一段过去是:') foriinself.listbox.get(0,END): f.write(i) f.write(",") f.write('\n在一起的天数是:') f.write(self.number.get()) f.write('\n印象最深的一天是:') f.write(self.listbox2.get(ACTIVE)) f.write('\n') f.write(self.agree.get()) f.write('本调查问卷的真实性') messagebox.showinfo('Success','恭喜您已成功提交')#显示对话框 Tkdemo()
执行结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。