免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2256 | 回复: 0
打印 上一主题 下一主题

学习python gui的邪恶代码 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-02-26 17:08 |只看该作者 |倒序浏览
  1. #GUI测试程序
  2. from tkinter import *
  3. import tkinter.messagebox #主要是为了在处理文本的时候也能弹出messagebox

  4. '''处理异常的时候注意使用 try:except  Exceptiion as ex'''
  5. count=0


  6. #处理checkbox
  7. def single():
  8.     if boolish.get():
  9.         tkinter.messagebox.showwarning("单身求解放","我要百富美!")

  10. #处理button事件
  11. def kiss_girl():
  12.     global count
  13.     count=count+1
  14.     tips=text_field.get()
  15.     print(tips+"your select:"+select.get()+"你送给她的礼物"+present.get())
  16.     if(count<3):
  17.         #print("脑子不好,记不住和你kiss了几次,那我们继续kiss~~")
  18.         kiss.set("脑子不好,记不住和你kiss了几次,那我们继续kiss~~")
  19.     if(count>=3 and count <=10):
  20.         #print("我们的爱太强烈了~~~")
  21.         kiss.set("我们的爱太强烈了~~~")
  22.     if(count>10):
  23.         #print("我们上床吧~")
  24.         kiss.set("我们上床吧~")
  25.         tkinter.messagebox.showinfo("怀孕,sex疾病","这样会让你的女友怀孕的,注意安全!")
  26.         response=tkinter.messagebox.askyesno("安全询问","你们是否准备了python牌的安全套")
  27.         if(response==True):
  28.             tkinter.messagebox.showinfo("这对贱人","随你们,但注意对她负责哦!")
  29.         if(response==False):
  30.             tkinter.messagebox.showerror("上帝不会原谅你们的","你们的行为很危险!")
  31.             app.destroy()#我要终结你们的行为,为了正义

  32. #处理魔法槽bar 注意这个调用需要带参数的,要不程序就报错了
  33. def dis_bar(v):
  34.     i=kiss_time.get()
  35.     if(i==16):
  36.         print("kiss这么久")
  37.     if(i==30):
  38.         print("看来你们很有技巧")

  39. app=Tk()
  40. app.title("GUI title")
  41. #app.geometry('450x300+200+100')#provide window coordinates and size values 当组件多了还是把它去了吧

  42. #这个设置的变量为什要放在这里,而且不是全局的,但是看了一下 StringVar, IntVar, DoubleVar
  43. #还想都是tk的组件,好像

  44. kiss=StringVar()
  45. kiss.set("kiss me")
  46. #声明kiss_girl的处理过程
  47. L1=Label(app,textvariable=kiss,height=3)
  48. L1.pack(side='top')

  49. #单选按钮 Radiobutton
  50. select=StringVar()
  51. select.set(None)
  52. Radiobutton(app,text="bed",value="bed",variable=select).pack()
  53. Radiobutton(app,text="room",value="room",variable=select).pack()
  54. Radiobutton(app,text="WC", value="WC",variable=select).pack()

  55. #文本选择域OptionMenu
  56. present=StringVar()
  57. present.set(None)
  58. options=["pats","文胸","ring","结婚证","baby"]
  59. OptionMenu(app,present,*options).pack(side='left')#this * means "take the rest of "
  60. #the parameters from this list and insert them here"

  61. #复选框checkbox
  62. boolish=IntVar()
  63. Checkbutton(app,variable=boolish,command=single,text="你饥渴吗?").pack(side='right')

  64. #文本输入域
  65. text_field=Entry(app)
  66. text_field.insert(0,"dating in:")
  67. text_field.pack()

  68. #volume 进度条 Scale

  69. try:
  70.     kiss_time=IntVar()
  71.     kiss_time.set(0)
  72.     kiss_bar=Scale(variable=kiss_time,from_=0,to=30,resolution=2,command=dis_bar,label="亲-密-度",orient=HORIZONTAL)
  73.     kiss_bar.pack()
  74. except Exception  as ex:
  75.     tkinter.messagebox.showerror("调用失败",ex)

  76. #按钮button
  77. b1=Button(app,text="kiss me!", width=10,command=kiss_girl)
  78. #为我的kiss关联一个强度记录器
  79. b1.pack(padx=5,pady=5,side='bottom')#the pack() method links the newly created button to the existing window
  80. '''pack() 参数side(放置按钮的位置)的值 value=(left ,right, top ,bottom);padx/y 设置上线边界的大小'''

  81. #这是一个通过窗口控件关闭程序的例子
  82. '''
  83. def shutdown():
  84.     stopprogress
  85.     app.destroy()#注意关闭窗口除了关闭程序还有别的事情要做
  86. 在mainloop前加入如下代码:
  87. app.protocol("WM_DELETE_WINDOW",shutdown)
  88. '''
  89. app.mainloop()#start the tkinter event loop
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP