如何设置QMenu上Icon的大小,无论加载的图标

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何设置QMenu上Icon的大小,无论加载的图标相关的知识,希望对你有一定的参考价值。

参考技术A .h 文件
protected slots:
void onMenuTriggered(QAction*);12

.cpp 文件
// 菜单
QMenu *pMenu = new QMenu(this);
pMenu->addAction(QString::fromLocal8Bit("我"));
pMenu->addSeparator();
pMenu->addAction(QString::fromLocal8Bit("爱"));

QMenu *pChildMenu = new QMenu(this);
pChildMenu->setTitle(QStringLiteral("学"));
pChildMenu->addAction(QStringLiteral("Q"));
pMenu->addMenu(pChildMenu);

QAction *act1 = new QAction(pChildMenu);
act1->setText(QStringLiteral("t"));
act1->setIcon(QIcon("src/Me.png"));
pChildMenu->addAction(act1);

QPushButton *pButton = new QPushButton(this);

// 按钮
pButton->setText(QString::fromLocal8Bit("主菜单"));

// 设置菜单
pButton->setMenu(pMenu);
connect(pMenu, SIGNAL(triggered(QAction*)), this, SLOT(onMenuTriggered(QAction*)));123456789101112131415161718192021222324
void MyClass::onMenuTriggered(QAction *action)

QString str = action->text();

如何在颤动中根据父级调整图标大小

【中文标题】如何在颤动中根据父级调整图标大小【英文标题】:How to size an icon according to parent in flutter 【发布时间】:2020-07-14 23:44:53 【问题描述】:

我想将容器内的图标大小调整为该容器的大小,这样在较大的设备中它就不会因为对大小值进行硬编码而变小。我正在尝试这样的事情

Container(
  child: Icon(
    Icons.beach_access,
    size: double.infinity,
  )
)

【问题讨论】:

我要设置Icon的大小,Container上有alignment属性我只能对齐child 您可以尝试在图标周围使用SizedBox,前提是您已正确设置图标周围的容器尺寸。我建议使用 MediaQuery 来获取屏幕的尺寸,并根据屏幕大小适当地设置容器的高度/宽度。 容器填满整个屏幕还是从另一个小部件继承大小?如果来自另一个小部件,则在您的问题中添加该小部件代码 【参考方案1】:

如果您希望图标的大小与其 Container 父级的末端相吻合,您可以将其放置在 FittedBox 中

Container(
  child: FittedBox(
     child: Icon(
        Icons.beach_access,
          ),
        ),
      ),

您可以更改 FittedBox 的 fit 属性以调整某些大小并更改对齐方式。

https://api.flutter.dev/flutter/widgets/FittedBox-class.html

【讨论】:

以上是关于如何设置QMenu上Icon的大小,无论加载的图标的主要内容,如果未能解决你的问题,请参考以下文章

如何将 QMenu 中的 QAction 转换为 QWidget?

如何在颤动中根据父级调整图标大小

百度地图js API icon大小问题

button按钮(icon)

Qt 5.4 OS X 如何在 QMenu 和 QToolBar 中使用 QAction,但仅在 QToolbar 中显示图标

博客园自定义样式修改标签页的icon图标