gui1.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. """
  2. 使用tkinter创建GUI
  3. - 顶层窗口
  4. - 控件
  5. - 布局
  6. - 事件回调
  7. Version: 0.1
  8. Author: 骆昊
  9. Date: 2018-03-14
  10. """
  11. import tkinter
  12. import tkinter.messagebox
  13. def main():
  14. flag = True
  15. # 修改标签上的文字
  16. def change_label_text():
  17. nonlocal flag
  18. flag = not flag
  19. color, msg = ('red', 'Hello, world!')\
  20. if flag else ('blue', 'Goodbye, world!')
  21. label.config(text=msg, fg=color)
  22. # 确认退出
  23. def confirm_to_quit():
  24. if tkinter.messagebox.askokcancel('温馨提示', '确定要退出吗?'):
  25. top.quit()
  26. # 创建顶层窗口
  27. top = tkinter.Tk()
  28. # 设置窗口大小
  29. top.geometry('240x160')
  30. # 设置窗口标题
  31. top.title('小游戏')
  32. # 创建标签对象
  33. label = tkinter.Label(top, text='Hello, world!', font='Arial -32', fg='red')
  34. label.pack(expand=1)
  35. # 创建一个装按钮的容器
  36. panel = tkinter.Frame(top)
  37. # 创建按钮对象
  38. button1 = tkinter.Button(panel, text='修改', command=change_label_text)
  39. button1.pack(side='left')
  40. button2 = tkinter.Button(panel, text='退出', command=confirm_to_quit)
  41. button2.pack(side='right')
  42. panel.pack(side='bottom')
  43. # 开启主事件循环
  44. tkinter.mainloop()
  45. if __name__ == '__main__':
  46. main()