qt中設置菜單高度


如題所示,我建立一個菜單,代碼如下,但是菜單項的高度太小了,
    {
        popupMenu = new QMenu(this); 
    QAction *action1 = new QAction(tr("&New1"), this);
    QAction *action2 = new QAction(tr("&New2"), this);
    QAction *action3 = new QAction(tr("&New3"), this);
    QAction *action4 = new QAction(QIcon("./load.png"), tr("Bookstore"), this);
    popupMenu->addAction(action1);
    popupMenu->addAction(action2);
    popupMenu->addAction(action3);
    popupMenu->addAction(action4);
        popupMenu->exec();
        }

我用如下的方法設置菜單項的高度,但是都不行:
popupMenu->setFixedHeight(300);//這樣只把菜單變大了,action還是那么小
popupMenu->setStyleSheet("QMenu::item { min-height: 100px }");//不好用?

究竟如何才好呢?


感謝大家的熱心解答,我把我的收獲貼在下面:
首先是簡單的方法:
popupMenu->setStyleSheet("QMenu::item{ padding:100px;}");
這一句話就夠。

其次使用QWidgetAction:
1)首先
class MyMenuItem:public QWidget
{
    Q_OBJECT
    public:
    MyMenuItem(QWidget *parent)
    {
        new QLabel("test",this);
    }
};
2)其次:
    MyMenuItem *item1 = new MyMenuItem(this);
    item1->setFixedSize(100,100);//這里可以設置大小
    QWidgetAction *action1 = new QWidgetAction(popupMenu);
    action1->setDefaultWidget(item1);
    MyMenuItem *item2 = new MyMenuItem(this);
    QWidgetAction *action2 = new QWidgetAction(popupMenu);
    action2->setDefaultWidget(item2);
    MyMenuItem *item3 = new MyMenuItem(this);
    QWidgetAction *action3 = new QWidgetAction(popupMenu);
    action3->setDefaultWidget(item3);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM