Python中Windows几何图形的帮助
为什么在睡眠前后(3.00)更改窗口位置的命令被忽略Python中Windows几何图形的帮助,python,windows,algorithm,Python,Windows,Algorithm,为什么在睡眠前后(3.00)更改窗口位置的命令被忽略 if self.selectedM.get() == 'Bump': W1 = GetSystemMetrics(1) + 200 print W1 w1.wm_geometry("+100+" + str(W1)) w2.wm_geometry("+100+" + str(W1)) w3.wm_geometry("+100+" + str(W1))
if self.selectedM.get() == 'Bump':
W1 = GetSystemMetrics(1) + 200
print W1
w1.wm_geometry("+100+" + str(W1))
w2.wm_geometry("+100+" + str(W1))
w3.wm_geometry("+100+" + str(W1))
w4.wm_geometry("+100+" + str(W1))
self.rvar.set(0)
self.rvar2.set(0)
self.rvar3.set(0)
self.rvar4.set(0)
s = self.wm_geometry()
geomPatt = re.compile(r"(\d+)?x?(\d+)?([+-])(\d+)([+-])(\d+)")
m = geomPatt.search(s)
X3 = m.group(4)
Y3 = m.group(6)
M = int(Y3) - 150
P = M + 150
MH = W1
MUH = Y3
while Y3 > M:
sleep(0.0009)
Y3 = int(Y3) - 1
self.update_idletasks()
self.wm_geometry("+" + str(X3) + "+" + str(Y3))
print 1
Alpha = 1.0
#while 0.0 < Alpha :
# Alpha = Alpha - 0.01
# self.attributes("-alpha", Alpha)
# sleep(0.005)
self.wm_geometry("+" + str(X3) + "+" + str(MH))
sleep(3.00)
self.wm_geometry("+" + str(X3) + "+" + str(MUH))
#while 1.0 > Alpha :
# Alpha = Alpha + 0.01
# self.attributes("-alpha", Alpha)
# sleep(0.005)
while Y3 < P:
sleep(0.0009)
Y3 = int(Y3) + 1
self.update_idletasks()
self.wm_geometry("+" + str(X3) + "+" + str(Y3))
如果self.selectedM.get()=“Bump”:
W1=GetSystemMetrics(1)+200
打印W1
w1.wm_几何体(“+100+”+str(w1))
w2.wm_几何体(“+100+”+str(W1))
w3.wm_几何学(“+100+”+str(W1))
w4.wm_几何体(“+100+”+str(W1))
self.rvar.set(0)
self.rvar2.set(0)
self.rvar3.set(0)
self.rvar4.set(0)
s=self.wm_几何体()
geomPatt=re.compile(r“(\d+)?x”(\d+)([+-])(\d+([+-])(\d+)(\d+)
m=几何图形搜索
X3=m组(4)
Y3=m组(6)
M=int(Y3)-150
P=M+150
MH=W1
MUH=Y3
当Y3>M时:
睡眠(0.0009)
Y3=int(Y3)-1
self.update_idletasks()
self.wm_几何(“+”+str(X3)+“+”+str(Y3))
打印1
α=1.0
#而0.0<α:
#α=α-0.01
#self.attributes(“-alpha”,alpha)
#睡眠(0.005)
self.wm_几何(“+”+str(X3)+“+”+str(MH))
睡眠(3.00)
self.wm_几何(“+”+str(X3)+“+”+str(MUH))
#而1.0>Alpha:
#α=α+0.01
#self.attributes(“-alpha”,alpha)
#睡眠(0.005)
而Y3
您的问题的答案是,您没有给系统更新显示的机会。显示由事件循环更新,但在围绕sleep(3.00)
调用的wm_几何调用之后,您不会进入事件循环。它们没有被忽略,只是在系统有机会更新显示之前再次更改几何体
这个问题的答案也能帮助你解决这个问题吗