【发布时间】:2016-03-07 19:07:33
【问题描述】:
当单击 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 样式...
如果有人知道解决方案,我将不胜感激..
谢谢!!
【问题讨论】: