2014-04-30 5 views
1

버튼을 [0-10] 초에서 임의의 시간에 나타나게하려면 코드가 필요합니다. 현재 내 코드는 다음과 같습니다.잠시 후 버튼을 표시하십시오.

#Importere værktøjer 
from tkinter import* 
import datetime 
import time 
import os 
import datetime 
import random 

#Tiden 
start = time.clock() 
t = datetime.datetime.now() 

#Definitioner 
def myClickMe1(): 

    finish = time.clock() 
    elapsed_time = finish - start 
    label1["text"]='{0:.2f}'.format(elapsed_time) 
    print('{0:.2f}'.format(elapsed_time)) 
    return 

#rod defineres 
window=Tk() 

#Vinduet 
window.geometry("700x800") 
window.title("Reaktionshastighehs test") 

#Labels 
label1=Label(window, text="Klik nu!") 

#indstillinger til objekter 
button1=Button(window, text="Klik her!", command=myClickMe1) 

#Placering af objekter 
button1.place(x=330, y=460) 
label1.place(x=335,y=500) 

0-10 초 후에 표시해야하는 "button1"입니다.

+0

['pack_forget()'] (http://stackoverflow.com/a/3819568/2276527)을 사용해보십시오. 또한이 대답 아래에있는 의견을 봐 – Gogo

+0

그리고 난수에 대한 당신은 볼 수 있습니다 [여기] (http://stackoverflow.com/a/3996930/2276527) – Gogo

답변

0

당신은 파이 게임을 가지고 있다면, 단지 while 루프과 같이합니다은 'Y'

임의의 시간에 도달 할 때까지

import pygame, random 
y = random.randrange(0, 10, 1) 
x = 0 
while x != y: 
    x += 1 
    pygame.time.wait(1000) 

이 루프는 두 번째 그것을 루프마다 일시 중지됩니다 PS : random은 Python과 함께 제공되지만 파이 게임 응용 프로그램을 다운로드해야합니다.

+0

어떻게 어떤 버튼이 표시됩니까? 게다가'sleep '은 프로그램 전체를 정지 시키므로 GUI에서는 금지되어 있습니다. 그런데 외부 라이브러리는 필요하지 않습니다. 표준 [time.sleep] (https://docs.python.org/2/library/time.html#time.sleep)이 작업을 수행합니다. – FabienAndre

2

after 메서드를 사용하면 함수 호출이 지연 될 수 있습니다. after은 함수를 지연시킨 다음 함수를 밀리 초 단위로 가져 와서 함수의 선택적 인수를 취합니다. ms 금액을 임의로 만들려면 random 방법 randrange 또는 randint을 사용하십시오. 예를 들면 다음과 같습니다.

from tkinter import * 
import random 

root = Tk() 

btn = Button(root, text='Button') 

random_time = random.randint(0, 5000) # get a random millisecond amount between 0-5 secs 
root.after(random_time, btn.pack) # call the after method to pack btn after random_time 

mainloop() 
관련 문제