头文件
#ifndef MAINMENU_H
#define MAINMENU_H
#include <QMenu>
#include <QApplication>
class CXXMainMenu : public QMenu
{
Q_OBJECT
public:
CXXMainMenu(QWidget* parent = 0);
signals:
void showTest();
private:
void CreateMenuActions();
void TranslateActions();
protected:
QAction* pAction_A;
int version_flag;
};
#endif // MAINMENU_H
cpp
#include "Mainmenu.h"
CXXMainMenu::CXXMainMenu(QWidget* widget)
:QMenu(widget)
{
this->CreateMenuActions();
this->TranslateActions();
version_flag = -1;
}
void CXXMainMenu::is_showLog(bool is)
{
switch (version_flag) {
case 1:
{
pAction1->setVisible(is);
}
break;
case 2:
{
pAction2->setVisible(is);
}
break;
default:
pAction3->setVisible(is);
break;
}
}
void CXXMainMenu::is_showPin(bool is)
{
pAction1->setVisible(is);
}
void CXXMainMenu::CreateMenuActions()
{
pAction_About = new QAction(this);
pAction_About->setIcon(QIcon(QApplication::applicationDirPath() + QString("/") + "image/about"));
QAction* pAction1= new QAction(this);
pAction1->setText("按钮文本哦");
//添加菜单项
this->addAction(pAction1);
//this->addAction(pAction_About);
QObject::connect(pAction1,SIGNAL(triggered()),this,SIGNAL(showText()));
return;
}
void CXXMainMenu::TranslateActions()
{
do
{
if(pAction_About == NULL)
break;
pAction_About->setText(QString::fromLocal8Bit("小提示"));
}while(false);
return ;
}
cpp