韓佩蓁python全域變數global和判斷if
from tkinter import * #或者import tkinter as tk
import math#輸入數學MATH函式庫
tk = Tk() #建構視窗名為tk
tk.geometry('1200x400')#視窗 寬1200像素
tk.title("韓佩蓁python tkinter三角函數if_else判斷")
canvas = Canvas(tk, width=1200, height=400, bg='PINK')
canvas.grid(row=0,column=0,padx=5,pady=5,columnspan=3)
delay=3 # milliseconds, 1/1000秒
x1,y1,z1=0,200,10#python特徵,多變數=對等值
h=190 #上下範圍,相當於數學1到-1
def LH():
global x1, y1, z1#global全球,local當地
x2 = x1 + 1 #換到下個+1
y2=200 - h*math.sin(0.02*x2)
z2=200 - h*math.cos(0.02*x2)
L1=canvas.create_line(x1,y1,x2,y2,fill='BLUE',width=10)
L2=canvas.create_line(x1,z1,x2,z2,fill='yellow',width=10)
if (x2 < 1200): #沒有超過, 記得將 "小於" 改成運算
x1,y1,z1=x2,y2,z2#下一個起點是現在終點
canvas.after(delay,LH)#每隔delay執行
else:
canvas.delete("all")
x1,y1,z1=0,200,10#下一個起點是回到原點
canvas.after(delay,LH)#return沒你的事,滾回你老家
LH() #執行LauHou老猴
tk.mainloop()
mainloop(主循环)是图形用户界面(GUI)编程中的核心概念,尤其在 Python 的 Tkinter 等库中,它是一个事件循环,负责持续监听和处理用户交互(如点击、按键)及系统事件,直到程序被关闭,它让 GUI 程序保持运行并响应用户操作。mainloop的核心作用:
- 事件监听:持续不断地等待鼠标点击、键盘输入、窗口大小变化、关闭请求等事件发生。
- 事件处理:当事件发生时,找到并执行与该事件关联的函数(回调函数),如按钮点击执行的指令。
- 生命周期管理:启动并维持应用程序的运行状态,直到用户关闭窗口或调用
destroy()方法结束程序。- 阻塞调用:
mainloop()一旦被调用,程序就会“卡”在这个函数上,不再执行后续代码,直到循环结束。简单比喻:
mainloop就像一个餐厅的经理,不断地接待客人(事件),处理客人的需求(点击按钮、输入文字),然后再等待下一位客人,周而复复,直到打烊(关闭窗口)。
在 Python Tkinter 中的使用(示例):
调用
root.mainloop() 之后,这个窗口就会一直显示,等你点击关闭按钮,mainloop 才会结束,程序才会退出。 

留言
張貼留言