2017-01-13 20 views
0

ループの中で、私はウィンドウを何度か開き、1,75-225秒の間のランダムな値のたびに閉じたいと思います。 私はこの試みている:私は実行すると、Pythonは言う、Python 3 - tkinter、after()floatを使用

from tkinter import * 
from random import * 


root = Tk() 
root.title('Temps inter-essai') 
root.config(bg='black') 
larg_ecr, haut_ecr = root.winfo_screenwidth(), root.winfo_screenheight() 
larg_can, haut_can = larg_ecr/4, haut_ecr/4 

txt = str(larg_ecr) + "x" + str(haut_ecr) 
root.geometry(txt) 

temp=uniform(1.7,2.2) 
root.after(temp,root.destroy) 
root.mainloop() 

を: 「self.tk.callを返します( 'の後に'、MS、名前) _tkinter.TclError:悪い引数 "2.992766043938505":でなければならないがキャンセル、アイドル、情報、または整数」

これを修正するアイデアはありますか? ありがとうございます!

答えて

2

after()は秒単位ではなくミリ秒単位で時間がかかります。値を整数に変換するほかに、スケールする必要があります。

root.after(int(temp * 1000), root.destroy) 
+0

ありがとう、それはうまくいきます。 – Grim

関連する問題