gpt4 book ai didi

css - 单击按钮时如何制作水平下拉菜单?

转载 作者:行者123 更新时间:2023-11-28 06:16:46 25 4
gpt4 key购买 nike

当单击 QPushButton 时,我正在尝试制作水平方向的下拉弹出菜单,菜单项只有图标,没有快捷文本和菜单项文本。在 Qt 中可以吗?
我试过谷歌搜索,但找不到解决方案,Qt 文档中也没有。

在 ascii 绘图中,水平下拉菜单在按钮下方显示如下:

按钮
|图片0 |图片1 |图片2 |图片3 |

我已经像这样对相关部分进行了编码:

QImage sourceImage(":/Res/layout/layout_wide_select.png");
int w = sourceImage.width() / 7;
int h = sourceImage.height();

QImage lay5= sourceImage.copy(0, 0, w, h);
QImage lay7= sourceImage.copy(w, 0, w, h);
....
m_menuWide = new QMenu(this);
QAction *actLay5 = m_menuWide->addAction(QIcon(QPixmap::fromImage(lay5)), "5view");
QObject::connect(actLay5, SIGNAL(triggered(bool)), this, SLOT(onSplitWideButtonClicked()));
actLay5->setData(QVariant(0));
QAction *actLay7 = m_menuWide->addAction(QIcon(QPixmap::fromImage(lay7)), "7view");
QObject::connect(actLay7, SIGNAL(triggered(bool)), this, SLOT(onSplitWideButtonClicked()));
actLay7->setData(QVariant(1));
...
m_btnSplitWide->setMenu(m_menuWide);

QMenu中好像没有setMenuDireciton()之类的方法,或者也没有QMenu 样式中可用的 QMenu 属性...

如果有人知道解决方案,我将不胜感激。

谢谢!!

最佳答案

可以查看QWidgetAction这会将小部件添加到您的 QMenu。您可以创建您的操作的 QWidget(也许是工具栏)并将其放在 QWidgetAction 上。并将 widgetaction 添加到您的 QMenu。示例代码:

QMenu menu;
QToolBar toolbar;
toolbar.addAction("A");
toolbar.addAction("B");
QWidgetAction act(&toolbar);
act.setDefaultWidget(&toolbar);
menu.addAction(&act);
menu.exec();

您只能使用您的图标更改操作“A”和“B”。

关于css - 单击按钮时如何制作水平下拉菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35851910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com