2011-08-31 2 views
3

저는 파이썬 GTK 프로그래밍에 익숙하지 않습니다. 내 UI에는 단추가 있습니다. 클릭하면 3 버튼과 레이블이있는 팝업을 열어야합니다. 주 창에서 팝업 창으로 일부 변수를 전달해야합니다. 팝업 창의 버튼을 클릭하면이 변수를 업데이트해야합니다. 그런 다음이 팝업 창을 닫으면 기본 창에서 변수의 업데이트 된 값이 필요합니다. 1. 파이썬 GTK에서이 작업을 수행 할 수 있습니까? 2. 그렇다면 어떻게 달성 할 것인가? 3. glade 파일을 만들 때 glade 파일을 사용할 수 있습니까?파이썬에서 사용자 정의 UI로 팝 열기 gtk

답변

6

아마도 대화 상자가 필요합니다. pygtk에서

:

import gtk 

label = gtk.Label("Nice label") 
dialog = gtk.Dialog("My dialog", 
        None, 
        gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, 
        (gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, 
        gtk.STOCK_OK, gtk.RESPONSE_ACCEPT)) 
dialog.vbox.pack_start(label) 
label.show() 
checkbox = gtk.CheckButton("Useless checkbox") 
dialog.action_area.pack_end(checkbox) 
checkbox.show() 
response = dialog.run() 
dialog.destroy() 
+0

덕분에 루이이 큰 도움이되었다. 내가 원하는 건 자네가 의미하는 것과 조금 같다. 하지만 나는 파이썬과 gtk에 익숙하지 않았기 때문에 액션 버튼을 클릭했을 때 팝업 창을 닫을 수 있는지 알고 싶었다. –

+0

skalluraya, 나는 기꺼이 도와 주었다. 지금 나는 당신이 "행동 버튼을 클릭 할 때 팝업 창을 닫을 수 없다면"무슨 뜻인지 이해하지 못합니다 - 어떤 행동 버튼을 사용하여 닫으시겠습니까? 위의 예에서 설정은 DIALOG_MODAL입니다. 즉, 팝업이 맨 위에 있고 앱의 다른 창에 액세스하기 전에 닫아야 함을 의미합니다. 이제 대화 상자에 표시된 모든 버튼을 클릭하면 응용 프로그램에서 다르게 작동하도록 테스트하고 사용할 수있는 다른 "응답"만 제공됩니다. 즐겨 ! – Louis

+0

루이, 답장을 보내 주셔서 감사합니다. "우리가 클릭하면 동작 버튼을 클릭하면 팝업 창의 폐쇄를 멈출 수 있다면"이 말은 내가 대화 상자 (재시도, 취소)에 2 개의 버튼이 있다고 가정합니다. 이제 재 시도를 클릭하면 대화 상자가 닫힙니다. 재 시도를 클릭하면 대화 상자를 닫으 려하지 않습니다. 대화 상자에서 일부 UI를 변경하고 싶습니다. –

관련 문제