2014-02-24 4 views
0

fxruby을 사용하여 몇 가지 옵션이있는 대화 상자를 만듭니다. 다음은 하나의 옵션을 표시하는 부분이며 그 중 하나를 클릭하면 어떻게됩니까?클릭하면 끝내기 대화 상자가 나타납니다.

# Download file 
dwd_file= FXButton.new(contents, 
    "&Download\tDownload file", 
    :opts => FRAME_RAISED|FRAME_THICK|LAYOUT_BOTTOM |LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 
    :width => 150, :height => 50) 
    dwd_file.connect(SEL_COMMAND, method(:download)) 


def download(sender, sel, ptr) 
    # Doing something which will take time. 
end 

dwd_file.connect 시간이 걸린다 뭔가를해야만 하는가 다운로드 방법을 실행한다.

질문 : 대화 상자가 해당 메서드가 실행될 때까지 중단됩니다. 클릭 할 때 닫고 나중에 메서드가 실행됩니다.

팁 주셔서 감사합니다.

답변

0
def download(sender, sel, ptr) 
    self.close 
    # Do that which will take time. 
end 

dwd_file의 일부 요소에 의존하지 않는 한이 문제없이 대화 상자를 제거한다 예.

self은 예제에 따라 실제로 대화 상자를 만드는 클래스를 가리 킵니다. 따라서 self.close은 먼저 대화 상자를 닫은 다음 많은 작업을 계속할 수 있습니다.

0

의견을 게시 할 담당자가 없으므로이 사람이 맞다고 가정합니다. dwd_file을 다운로드 메서드의 인수로 전달하려고 시도 했습니까? 다운로드 메서드를 먼저 닫고 대화 상자를 닫은 다음 실행하려는 논리를 계속 진행 했습니까? 다운로드 방법을 사용 FXMainWindow CLSS 또는 fxruby lib 디렉토리에서 다른 클래스를 자신의 클래스를 생성하고 상속

fxruby에서
관련 문제