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);
时间: 2024-11-08 20:43:06

qt中设置菜单高度的相关文章

Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())

在Qt中设置widget背景颜色或者图片方法很多种:重写paintEvent() , 调色板QPalette , 样式表setStyleSheet等等. 但是各种方法都有其注意事项,如果不注意则很容易陷入麻烦中. 1:setStyleSheet() 这个函数我一直很喜欢使用,因为只要写一句就可以实现效果,比其他方法都简单,但是其却有一个很值得注意的地方,也就是这个地方让我大吃苦头. 亦即:①:该函数只能用于设置有父窗口的子窗口的背景!如果一个窗口没有子窗口,则无法使用该函数来设置背景颜色或图  

PyCharm中设置菜单字体大小

file-->setting,然后选择appearance,下图右侧红色边框中的内容即设置菜单的字体和大小

Qt中实现菜单和工具栏功能

Qt创建菜单和工具栏: 一.  temp.h文件的内容 1.定义类temp继承QMainWindow 2.添加Q_OBJECT , 构造函数 . 析构函数等内容 3.$重点内容 3.1定义QAction *newAction;  (相当于菜单和工具条里面的基本功能如:新建.打开文件) 3.2定义QMenu *fileMenu; 3.3定义  QToolBar *fileToolBar; 4.定义QAction的响应函数即slot函数: private slots: void msg(); 二.

如何在Safari中设置select高度

在Safari浏览器中如果想对select控件进行高度设置,最常用的方法是下面几个: -webkit-appearance: menulist-button; -webkit-appearance: none; 从行为上看这是Safari的一个bug,但是如果从设计思想出发的话,这个也许并不算是bug.控件是由引擎来实现行为和逻辑,再由主题API来进行绘制完成(mac上的主题是Aqua).外观样式通过-webkit-appearance进行控制,如果不需要默认的外观,只需要将-webkit-ap

Qt中设置属性setAttribute(Qt::WA_DeleteOnClose)报错的情况

在Qt的Gui编程中,经常会用到QWidget和其子类作为父控件来显示,其上添加有若干控件. 在关闭QWidget及其子类窗口时需销毁窗口. 如果是在是定义在栈上: MainWindow w;  w.show(); 在构造函数中增加:setAttribute(Qt::WA_DeleteOnClose)以后, 会在关闭时出现异常,因为当退出main方法时,会自动销毁窗口,而setAttribute方法会使得Qt再次销毁窗口,造成二次delete,产生报错. 如果定义在堆上 : MainWindow

qt中设置前景色和背景色

Qt Style Sheets Examples——定制前景色和背景色 例子取自:http://qt-project.org/doc/qt-4.8/stylesheet-examples.html 以lineEdit为例 (1)设置某个lineEdit的背景色为黄色 lineEdit->setStyleSheet (" font-size: 12px !important; line-height: 1.5 !important;">"); (2)设置一个应用项目

QT 中设置按钮图片和文字的两种方法

1.使用QpushButton自带的API实现: void setIcon(const QIcon &icon) void setText(const QString &text) 该方法使用了自带的函数设置,缺点是无法自由调整图标和文字之间的间距 2.使用Qlabel和布局嵌入在自带的QpushButton中 QLabel* label = new QLabel(); QLabel* label2 = new QLabel(); label2->setStyleSheet(QStr

qt中实现单一启动qt程序的设置

在Qt中设置程序的单一启动的方式: 1.将里面的qtsingleapplication目录拷贝到项目的源码目录中,在代码中添加文件 2.在pro文件中添加qt连接的库 QT += network 3.main函数中的代码 #include <QtSingleApplication> QtSingleApplication app(argc, argv); if (app.isRunning()){    app.sendMessage("raise_window_noop"

QT 设置菜单图标

目录 一.添加主窗口菜单 二.添加菜单图标 三.添加资源文件 四.使用资源文件 五.使用代码来添加菜单和图标 正文 一.添加主窗口菜单 1.新建Qt Gui应用,项目名称为myMainWindow,基类选择QMainWindow,类名为MainWindow. 2.创建完项目后,打开mainwindow.ui文件进入设计模式.在这里可以看到界面左上角的"在这里输入",我们可以在这里添加菜单.双击"在这里输入",将其更改为"文件(&F)",然