qt小菜单

该文章描述了一个名为CXXMainMenu的C++类,它是Qt库中QMenu类的子类。类中包含了创建菜单动作、翻译动作的方法,并实现了显示或隐藏特定菜单项的功能。此外,使用了信号槽机制来处理菜单项触发的事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

头文件
 

#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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值