- 论坛徽章:
- 0
|
- #GUI测试程序
- from tkinter import *
- import tkinter.messagebox #主要是为了在处理文本的时候也能弹出messagebox
- '''处理异常的时候注意使用 try:except Exceptiion as ex'''
- count=0
- #处理checkbox
- def single():
- if boolish.get():
- tkinter.messagebox.showwarning("单身求解放","我要百富美!")
- #处理button事件
- def kiss_girl():
- global count
- count=count+1
- tips=text_field.get()
- print(tips+"your select:"+select.get()+"你送给她的礼物"+present.get())
- if(count<3):
- #print("脑子不好,记不住和你kiss了几次,那我们继续kiss~~")
- kiss.set("脑子不好,记不住和你kiss了几次,那我们继续kiss~~")
- if(count>=3 and count <=10):
- #print("我们的爱太强烈了~~~")
- kiss.set("我们的爱太强烈了~~~")
- if(count>10):
- #print("我们上床吧~")
- kiss.set("我们上床吧~")
- tkinter.messagebox.showinfo("怀孕,sex疾病","这样会让你的女友怀孕的,注意安全!")
- response=tkinter.messagebox.askyesno("安全询问","你们是否准备了python牌的安全套")
- if(response==True):
- tkinter.messagebox.showinfo("这对贱人","随你们,但注意对她负责哦!")
- if(response==False):
- tkinter.messagebox.showerror("上帝不会原谅你们的","你们的行为很危险!")
- app.destroy()#我要终结你们的行为,为了正义
- #处理魔法槽bar 注意这个调用需要带参数的,要不程序就报错了
- def dis_bar(v):
- i=kiss_time.get()
- if(i==16):
- print("kiss这么久")
- if(i==30):
- print("看来你们很有技巧")
- app=Tk()
- app.title("GUI title")
- #app.geometry('450x300+200+100')#provide window coordinates and size values 当组件多了还是把它去了吧
- #这个设置的变量为什要放在这里,而且不是全局的,但是看了一下 StringVar, IntVar, DoubleVar
- #还想都是tk的组件,好像
- kiss=StringVar()
- kiss.set("kiss me")
- #声明kiss_girl的处理过程
- L1=Label(app,textvariable=kiss,height=3)
- L1.pack(side='top')
- #单选按钮 Radiobutton
- select=StringVar()
- select.set(None)
- Radiobutton(app,text="bed",value="bed",variable=select).pack()
- Radiobutton(app,text="room",value="room",variable=select).pack()
- Radiobutton(app,text="WC", value="WC",variable=select).pack()
- #文本选择域OptionMenu
- present=StringVar()
- present.set(None)
- options=["pats","文胸","ring","结婚证","baby"]
- OptionMenu(app,present,*options).pack(side='left')#this * means "take the rest of "
- #the parameters from this list and insert them here"
- #复选框checkbox
- boolish=IntVar()
- Checkbutton(app,variable=boolish,command=single,text="你饥渴吗?").pack(side='right')
- #文本输入域
- text_field=Entry(app)
- text_field.insert(0,"dating in:")
- text_field.pack()
- #volume 进度条 Scale
- try:
- kiss_time=IntVar()
- kiss_time.set(0)
- kiss_bar=Scale(variable=kiss_time,from_=0,to=30,resolution=2,command=dis_bar,label="亲-密-度",orient=HORIZONTAL)
- kiss_bar.pack()
- except Exception as ex:
- tkinter.messagebox.showerror("调用失败",ex)
- #按钮button
- b1=Button(app,text="kiss me!", width=10,command=kiss_girl)
- #为我的kiss关联一个强度记录器
- b1.pack(padx=5,pady=5,side='bottom')#the pack() method links the newly created button to the existing window
- '''pack() 参数side(放置按钮的位置)的值 value=(left ,right, top ,bottom);padx/y 设置上线边界的大小'''
- #这是一个通过窗口控件关闭程序的例子
- '''
- def shutdown():
- stopprogress
- app.destroy()#注意关闭窗口除了关闭程序还有别的事情要做
- 在mainloop前加入如下代码:
- app.protocol("WM_DELETE_WINDOW",shutdown)
- '''
- app.mainloop()#start the tkinter event loop
复制代码 |
|