更新
This commit is contained in:
57
Python-100-Days/Day01-15/Day10/gui1.py
Normal file
57
Python-100-Days/Day01-15/Day10/gui1.py
Normal file
@@ -0,0 +1,57 @@
|
||||
"""
|
||||
|
||||
使用tkinter创建GUI
|
||||
- 顶层窗口
|
||||
- 控件
|
||||
- 布局
|
||||
- 事件回调
|
||||
|
||||
Version: 0.1
|
||||
Author: 骆昊
|
||||
Date: 2018-03-14
|
||||
|
||||
"""
|
||||
|
||||
import tkinter
|
||||
import tkinter.messagebox
|
||||
|
||||
|
||||
def main():
|
||||
flag = True
|
||||
|
||||
# 修改标签上的文字
|
||||
def change_label_text():
|
||||
nonlocal flag
|
||||
flag = not flag
|
||||
color, msg = ('red', 'Hello, world!')\
|
||||
if flag else ('blue', 'Goodbye, world!')
|
||||
label.config(text=msg, fg=color)
|
||||
|
||||
# 确认退出
|
||||
def confirm_to_quit():
|
||||
if tkinter.messagebox.askokcancel('温馨提示', '确定要退出吗?'):
|
||||
top.quit()
|
||||
|
||||
# 创建顶层窗口
|
||||
top = tkinter.Tk()
|
||||
# 设置窗口大小
|
||||
top.geometry('240x160')
|
||||
# 设置窗口标题
|
||||
top.title('小游戏')
|
||||
# 创建标签对象
|
||||
label = tkinter.Label(top, text='Hello, world!', font='Arial -32', fg='red')
|
||||
label.pack(expand=1)
|
||||
# 创建一个装按钮的容器
|
||||
panel = tkinter.Frame(top)
|
||||
# 创建按钮对象
|
||||
button1 = tkinter.Button(panel, text='修改', command=change_label_text)
|
||||
button1.pack(side='left')
|
||||
button2 = tkinter.Button(panel, text='退出', command=confirm_to_quit)
|
||||
button2.pack(side='right')
|
||||
panel.pack(side='bottom')
|
||||
# 开启主事件循环
|
||||
tkinter.mainloop()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user