如何在Qmenu中添加关闭按钮?

时间:2012-12-17 09:15:13

标签: qt qt4 qt-creator

如何在下方菜单的顶部添加关闭按钮?

我想要一个关闭按钮,如窗口和下面,我需要下面提到的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();
        }*/
    }

1 个答案:

答案 0 :(得分:0)

首先,创建一个QWidgetAction。然后创建一个按钮,按照您希望的方式进行设置,并使用QWidgetAction将其添加到QWidgetAction::setDefaultWidget()。最后,使用QMenu::AddAction()将QWidgetAction添加到您的菜单中(带有QAction的重载; QWidgetAction来自QAction。)