问题
当菜单项中有的项是带有Icon和文字的,有的字确单单文字,这会出现没有Icon的项文字是和带有Icon项的文字是对齐,我们想要达成的效果是无论有没有Icon,一律都是左对齐,但是QAction中没有提供接口设置文字的对齐方式的。
解决方法
没有Icon的项改中QWidgetAction:
//system set
QAction* pSysSetting = new QAction(QIcon("://Resources/Dark_icons/custom trade/set_icon.svg"),tr("System Settings"), this);
this->addAction(pSysSetting);
connect(pSysSetting, SIGNAL(triggered()), this, SLOT(onSystemSteting()));
//log
QWidgetAction *plog = new QWidgetAction(this);
m_pLabelLog = new QLabel(this);
m_pLabelLog->setAlignment(Qt::AlignLeft);
m_pLabelLog->setText(tr("Upload log"));
plog->setDefaultWidget(m_pLabelLog);
this->addAction(plog);
connect(plog, SIGNAL(triggered()), this, SLOT(onActionShowLogPath()));
//about
QWidgetAction *pInfo = new QWidgetAction(this);
m_pLabelInfo = new QLabel(this);
m_pLabelInfo->setText(tr("About"));
m_pLabelInfo->setAlignment(Qt::AlignLeft);
pInfo->setDefaultWidget(m_pLabelInfo);
this->addAction(pInfo);
connect(pInfo, SIGNAL(triggered()), this, SLOT(onActionShowVersionInfo()));