2012-12-17 2 views
-2

아래 메뉴의 닫기 버튼을 추가하는 방법은 무엇입니까?Qmenu에 닫기 버튼을 추가하는 방법은 무엇입니까?

아래의 창과 같은 닫기 버튼이 필요합니다. 아래에서 언급 한 A ~ D 설정 메뉴가 필요합니다. 이 작업을 수행하는 방법?

void MyMenu::cppSlot() 
    { 
     xmenumain = new QMenu; 
     xmenumain-> 
     xmenumain->addAction ("A -> Setup" , this , SLOT (call_a())); 
     xmenumain->addAction ("B -> Setup" , this , SLOT (call_b())); 
     xmenumain->addAction ("C -> Setup" , this , SLOT (call_c())); 
     xmenumain->addAction ("D -> Setup" , this , SLOT (call_d())); 
     xmenumain->popup(QCursor::pos()); 
     //Change font and width 
     xmenumain->setFont(QFont ("Courier", 10)); 
     xmenumain->setFixedWidth(250); 
     //Colour setting 
     QPalette palette=xmenumain->palette(); 
     palette.setColor(QPalette::Background, Qt::darkGray); 
     xmenumain->setPalette(palette); 

     //xmenumain->setAutoFillBackground(true); 


     // Align the menu coordinates 
     xmenumain->move(900,300); 
     xmenumain->show(); 
     /*if(!(xmenumain->isEnabled())) 
     { 
      xmenumain->show(); 
     }*/ 
    } 
+2

무엇을할까요? 메뉴를 닫거나 응용 프로그램을 닫으시겠습니까? – cmannett85

+0

어쩌면 당신은'QPushButton'을 사용할 수 있고'QPushButton :: setMenu' –

+0

이 메뉴를 닫아야합니다. –

답변

0

먼저 QWidgetAction을 만듭니다. 그런 다음 버튼을 만들고 원하는 방식으로 설정 한 다음 에 QWidgetAction::setDefaultWidget()을 추가하십시오. 마지막으로 QWidgetAction을 QMenu::AddAction() 메뉴에 추가하십시오. 과부하는 QAction이고 QWidgetActionQAction입니다.

+0

이것은 작동하지 않습니다. 보이지 않는 배경이있는 메뉴 항목을 만듭니다. setText/setIcon보다 더 장난스러운 "원하는 방식으로 설정"하는 단계가 더 이상 없다면 말입니다. – mphair

관련 문제