Qt QWidgetAction溢出菜单图标列
在Windows上使用Qt 4.8.2 我把用户信息放在一个QWidgetAction下拉菜单中。但是QWidgetAction的小部件溢出了通常显示动作图标的左栏: 代码如下:Qt QWidgetAction溢出菜单图标列,qt,qmenu,Qt,Qmenu,在Windows上使用Qt 4.8.2 我把用户信息放在一个QWidgetAction下拉菜单中。但是QWidgetAction的小部件溢出了通常显示动作图标的左栏: 代码如下: QMenu *menu = new QMenu; QIcon icon(...); QLabel *iconLabel = new QLabel; iconLabel->setPixmap(icon.pixmap(32, 32)); // XXX what size? QLabel *userName =
QMenu *menu = new QMenu;
QIcon icon(...);
QLabel *iconLabel = new QLabel;
iconLabel->setPixmap(icon.pixmap(32, 32)); // XXX what size?
QLabel *userName = new QLabel("user name");
QLabel *userEmail = new QLabel("Rfoo@bar.com");
// Layouts
QVBoxLayout* vbox = new QVBoxLayout();
vbox->addWidget(userName);
vbox->addWidget(userEmail);
QHBoxLayout* hbox = new QHBoxLayout;
hbox->addWidget(iconLabel);
hbox->addLayout(vbox);
// container widget
QWidget* widget = new QWidget;
widget->setLayout(hbox);
// Widget Action
QWidgetAction* widgetAction = new QWidgetAction(menu);
widgetAction->setDefaultWidget(widget);
menu->addAction(widgetAction);
menu->addSeparator();
menu->addAction("P....... P.......");
menu->addSeparator();
menu->addAction("Sign Out");
如果我从小部件中删除pixmap并将其设置为QWidgetAction的图标,小部件仍然会溢出到左边的列中,并且图标不会显示
我想找出以下解决方案之一:
谢谢修好了吗?它是可以破解的,但是此列的宽度会根据是否存在图标而改变。。。