다음과 같은 문제가 있습니다. 사용자에게 입력을 요구하는 프로그램을 만들었습니다. 내 메인 창에서 표시됩니다 내장 된 위젯 대화 상자를 교체하고 싶습니다 지금gtkmm : 윈도우 내의 모달 위젯
if (modal_dialog->run() == SUCCESS){
// do stuff depending on modal_dialog inputs here
}
을하지만, 내 모달 대화처럼 동작이 다음과 같이 사용되는 파생 Gtk::Dialog
을 사용하여 수행됩니다. 이것은 다음과 같이 부를 수 있다는 것을 의미합니다 :
if (modal_widget->run == SUCSESS){
// hide modal widget and do stuff
}
C++/gtkmm에서 쉽게 가능합니까?
참고 : 내가 원하는 동작을 얻을 수 있었다 내가 수동으로 show
재수 모달 위젯이 의미 ... 등 상태 변수를 사용하여 (이것은 최종 사용자에 대해 같은 느낌), 그리고 내 확인 버튼을 말해 wannabe-modal 위젯은 일상의 나머지 부분을 수행합니다 (위 if
-statements의 본문). 그러나, 나는 다른 행동을 위해 동일한 wannab-modal 위젯을 사용하고 있기 때문에, 나는 항상 내가하고있는 것을 추적해야한다. 그것은 그리 우아하지 않다.
좋은 소리입니다. 나는 그것을 시도 할 것이다! – phimuemue
어떤 종류의 결과 또는 반환 값을 추가 할 가능성이 있습니까? – phimuemue
글쎄, 당신은'cliked' 이벤트와'run' 함수 사이에 어떤 종류의 공유 데이터가 필요합니다. 이것은 루프 변수'loop'에 도달하기 위해서입니다. 공유 데이터에 하나 이상의 변수를 추가하고 반환 할 값으로 설정 한 다음 'run'함수에서 반환하십시오. – rodrigo