QT--下拉菜单

本文为作者的学习记录,若有错误,请联系作者,谦虚受教。


前言

即使是不成熟的尝试,也胜于胎死腹中的策略。


一、目的

目的是实现自定义的菜单栏,实现下拉菜单,点击下拉菜单时,响应对应的动作和发出相应的信息。

二、相关代码

1…h文件

#include<QMenu>
//添加相应的头文件
class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
    
protected:

private slots:
    void myslot();//槽函数,实现用户效果的

private:
    Ui::MainWindow *ui;
    QMenu *m_MoreMenu;//定义自己所需要的菜单类名
    QMenu *childMenu;
    QMenu *MainMenu;
};

2…cpp文件

构造函数中

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);    
    //菜单栏
    initMoreMenu();
    ui->btn_menu->setToolTip("菜单选项");
}

自定义菜单函数中

/***********
 * 菜单栏
 * **********/
void MainWindow::initMoreMenu()
{
   m_MoreMenu=new QMenu(this);//主菜单
   m_SetAct=new QAction("设置");
   m_OpinionAct=new  QAction("意见反馈");
   m_AboutAct=new QAction("关于我们");

   m_MoreMenu->addAction(m_SetAct);
   m_MoreMenu->addAction(m_OpinionAct);
   m_MoreMenu->addAction(m_AboutAct);

   QMenu *myMenu=m_MoreMenu->addMenu(tr("选项"));//在主菜单中添加选项,选项拥有子菜单/二级菜单
   m_SetAct_send=new QAction("发送指令");
   m_SetAct_test=new QAction("测试指令");
   m_SetAct_choose=new QAction("其他");

   myMenu->addAction(m_SetAct_send);
   myMenu->addAction(m_SetAct_test);
   myMenu->addAction(m_SetAct_choose);

   //菜单关联函数
   connect(ui->btn_menu,&QToolButton::clicked,this,&MainWindow::moreFunc);
   //下拉主菜单关联函数
   connect(m_SetAct,&QAction::triggered,this,&MainWindow::SetAct);//设置
   connect(m_OpinionAct,&QAction::triggered,this,&MainWindow::opinionAct);//意见
   connect(m_AboutAct,&QAction::triggered,this,&MainWindow::moreFunc);//关于
   //子菜单关联函数
   connect(m_SetAct_send,&QAction::triggered,this,&MainWindow::send);//发送
   connect(m_SetAct_test,&QAction::triggered,this,&MainWindow::moreFunc);//测试
   connect(m_SetAct_choose,&QAction::triggered,this,&MainWindow::moreFunc);//选项
}
void MainWindow::moreFunc()
{
    QWidget *pwindow=this->window();
    int x=pwindow->geometry().x()+220;//设置action的位置坐标,该窗口加上200
    int y=pwindow->geometry().y()+40;//geometry设置窗口的宽高
    QPoint pos(x,y);
    m_MoreMenu->exec(pos);
}

菜单实现的效果如下:
在这里插入图片描述


其他各个动作的槽函数用户可自定义,例如,例子中的 opinionAct()槽函数 在.cpp文件中定义
//槽函数-意见
void MainWindow::opinionAct()
{
    QMessageBox::information(NULL,"反馈链接","<h2><a href=\"https://www.baidu.com\">网站:www.baidu.com</a></h2>");
}

点击菜单中的**“意见反馈”**,实现的效果如下:
在这里插入图片描述

总结

善于总结,多进一步。

  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要下载 Qt-Everywhere-src-5.12.2,可以按照以下步骤进行: 1. 打开 Qt 官方网站(https://www.qt.io/),并找到 "Downloads"(下载)选项。 2. 在下载页面中,滚动到 "Qt for open-source 工具" 部分,找到 "Qt 5.12.2" 版本的链接。 3. 点击链接后,会跳转到登录页面。如果您还没有账号,请创建一个新账号,或使用已有的账号登录。 4. 登录后,您将被重定向到 "Qt 许可协议" 页面。请阅读并接受许可协议。 5. 在接受许可协议后,您会被引导到提供下载文件的页面。您可以选择适合您操作系统的版本进行下载,例如 Windows、macOS 或 Linux。 6. 根据您的下载速度和网络情况,下载可能需要一些时间。请耐心等待直到下载完成。 7. 下载完成后,解压下载的文件。您将得到一个名为 "qt-everywhere-src-5.12.2" 的文件夹。 8. 进入解压后的文件夹,并按照 Qt 官方提供的说明文档,执行相应的安装步骤,以便在您的开发环境中使用 Qt 5.12.2。 请注意,以上步骤是基于官方网站上提供的下载方式。如果有其他来源提供的下载链接,请确保其可信度,并采取适当的安全措施,以避免下载恶意软件。 ### 回答2: 要下载qt-everywhere-src-5.12.2,可以按照以下步骤进行: 1. 打开 Qt 的官方网站 (https://www.qt.io/),点击"Downloads"按钮或者直接访问 "https://www.qt.io/download"。 2. 在"Choose your options"下菜单中,选择"Open Source"选项,然后选择"5.12.2"版本。 3. 在"Choose your install options"中,根据你的操作系统选择适当的版本。如果是Windows,可以选择"Online Installer"以获得一个在线安装程序。如果是Mac或Linux,可以选择"Offline Installers"以获得一个离线安装包。 4. 点击"DOWNLOAD"按钮开始下载。 5. 下载完成后,运行安装程序并按照指示进行安装。根据你的选择,可能需要选择安装路径、组件等。 6. 安装完成后,你将获得一个 Qt 的完整开发环境,包括Qt Creator集成开发环境和Qt库。 7. 打开 Qt Creator,开始使用 Qt 进行开发。 注意:Qt是一种开放源代码的跨平台应用程序开发框架,可以用于开发图形化界面、网络应用程序和其他各种类型的软件。下载qt-everywhere-src-5.12.2是获取 Qt 框架的源代码,这样你就可以自己构建和编译 Qt 库。如果你仅需要使用 Qt 进行开发,并不需要获取源代码,可以直接下载其他适用于你的操作系统的版本。 ### 回答3: 要下载qt-everywhere-src-5.12.2,首先需要进入Qt官方网站的下载页面。通过浏览器打开Qt官网,并点击导航栏上的“下载”按钮,进入下载页面。 在下载页面上,可以看到各个Qt版本的下载选项,找到qt-everywhere-src-5.12.2并点击下载按钮。 通常情况下,Qt提供了多个不同平台的安装包,如Windows、Mac、Linux等。因此,需要选择适合自己操作系统的安装包进行下载。 点击下载按钮后,会弹出一个窗口,询问您是否同意Qt的许可协议。阅读并接受协议后,可以选择保存安装包的位置,然后点击“保存”按钮开始下载。 下载速度会根据您的网络连接情况而有所不同。下载完成后,可以在保存的位置找到下载的安装包。 接下来,双击安装包进行安装。安装过程中,您可以选择安装路径和组件。按照默认设置进行安装即可。 安装完成后,就可以开始使用Qt了。打开Qt Creator进行开发,或者在命令行中运行相应的Qt命令进行编译和构建。 总之,要下载qt-everywhere-src-5.12.2,只需要进入Qt官网的下载页面,选择适合自己操作系统的安装包进行下载,然后进行安装,即可开始使用Qt进行开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值