当前位置: 首页 > news >正文

邓州网站优化新手代理怎么找客源

邓州网站优化,新手代理怎么找客源,wordpress数字证书登录,入侵织梦网站菜单栏QMenuBar 1. QMenuBar Qt 中的菜单栏是通过 QMenuBar 类型来实现的,一个主控件最多只能有一个菜单栏。一个菜单栏可以添加多个菜单,一个菜单又可以添加多个菜单项。 每个菜单又都是一个 QMenu 类型,每个菜单项都是一个 QAction。 2.…

菜单栏QMenuBar

1. QMenuBar

Qt 中的菜单栏是通过 QMenuBar 类型来实现的,一个主控件最多只能有一个菜单栏。一个菜单栏可以添加多个菜单,一个菜单又可以添加多个菜单项。

每个菜单又都是一个 QMenu 类型,每个菜单项都是一个 QAction

QMenuBar1

2. 使用代码添加菜单和菜单项

setMenuBar()QMenuBar 类型设置为 thisMainWindow)的菜单栏,再创建几个 QMenu ,使用 QMenuBaraddMenu() 添加菜单,再创建几个 QAction ,使用 QMenuaddAction() 将菜单项挂载到对应的菜单上。另外,addSeparator() 可以在菜单项的对应位置添加分割线。

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMenuBar>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);QMenuBar* menubar=new QMenuBar();this->setMenuBar(menubar);QMenu* menu1=new QMenu("文件");QMenu* menu2=new QMenu("编辑");QMenu* menu3=new QMenu("构建");menubar->addMenu(menu1);menubar->addMenu(menu2);menubar->addMenu(menu3);QAction* action1 =new QAction("新建文件");QAction* action2 =new QAction("打开文件");QAction* action3 =new QAction("关闭文件");menu1->addAction(action1);menu1->addSeparator();menu1->addAction(action2);menu1->addAction(action3);}MainWindow::~MainWindow()
{delete ui;
}

QMenuBar2

3. 菜单快捷设置快捷键方法

在菜单的文本中增加一个 &[字母] ,如:

QMenu* menu = new QMenu("文件(&F)");

文件 这个菜单就可以使用快捷键 Alt + F 选中。实际这种快捷键添加方法是 Windows 系统提供的,在很多 Windows 的软件中都可以使用这种方式设置或使用快捷键。

4. 菜单添加子菜单

父菜单的指针使用 addMenu() 就可以将子菜单添加进该父菜单,当鼠标悬停到子菜单上时,就会展开子菜单的菜单项:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMenuBar>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);QMenuBar* menubar=new QMenuBar();this->setMenuBar(menubar);QMenu* parentMenu=new QMenu("父菜单");QMenu* childMenu=new QMenu("子菜单");menubar->addMenu(parentMenu);parentMenu->addMenu(childMenu);QAction* action1 =new QAction("子菜单项1");QAction* action2 =new QAction("子菜单项2");QAction* action3 =new QAction("子菜单项3");childMenu->addAction(action1);childMenu->addAction(action2);childMenu->addAction(action3);}MainWindow::~MainWindow()
{delete ui;
}

QMenuBar3

5. 菜单设置图标

注意,如果菜单是长在 QMenuBar 上的(即一级菜单),图标和文字不能同时显示,设置图标的菜单会只有图标能够显示出来。但长在 QMenu 上的二级菜单是能够图标和文字都一起显示的:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMenuBar>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);QMenuBar* menubar=new QMenuBar();this->setMenuBar(menubar);QMenu* parentMenu=new QMenu("文件");parentMenu->setIcon(QIcon(":/file.png"));QMenu* childMenu=new QMenu("文本文件");childMenu->setIcon(QIcon(":/txt.png"));menubar->addMenu(parentMenu);parentMenu->addMenu(childMenu);
}MainWindow::~MainWindow()
{delete ui;
}

QMenuBar4

可以看到 ”文件“ 的图标显示了但是文本消失了。

6. 菜单栏内存泄漏问题

如果 Qt 项目在创建时勾选了使用 ui 生成,那么在项目最开始就已经存在了一个菜单栏,如果我们此时使用代码新建一个 QMenuBar 并将其设置到 this 中,就会导致原有的菜单栏无法被析构释放。所以在自定义菜单栏时,最好使用:

QMenuBar menuBar = this->menuBar();

先获取原有的 QMenuBar ,再使用它更改成我们想要的效果,就可以避免内存泄漏。

http://www.dtcms.com/a/545721.html

相关文章:

  • 重庆网站优化网站怎样自己不花钱在电脑上做网页
  • Python驱动的无人机生态三维建模与碳储/生物量/LULC估算全流程实战技术
  • 怎么帮客户做网站建站宠物网站开发与实现结论
  • NTP与RTC两者优先级
  • 【GitLab/CI】前端 CI
  • 做教育行业网站如何利用织梦cms做企业网站
  • 【开题答辩全过程】以 儿童游泳预约系统为例,包含答辩的问题和答案
  • 《Vue项目开发实战》第一章:项目环境配置
  • 外贸管理网站模板wordpress评论邮箱
  • 基于Python Web的大数据系统监控平台的设计与实现
  • 哈尔滨企业展示型网站建设专业做营销网站建设
  • 手机网站相册代码wordpress二维码 插件下载
  • 基于电鱼 ARM 工控机的AI视频智能分析方案:让传统监控变得更聪明
  • 邢台哪儿能做网站成都有什么好玩的吗
  • Ansible自动化部署ECS与Nginx全流程
  • 架构论文《论软件测试理论及其应用》
  • .net 8压榨rabbitMq性能
  • 关于jupyter notebook调用GPU
  • 网站的建设课程做网站的实训报告
  • 商业网站的设计与推广系统湖南做网站
  • Adobe Lightroom Classic下载与安装教程(附安装包) 2025最新版详细图文安装教程
  • 仓颉语言赋能鸿蒙应用开发:UI主题样式定制的深度实践
  • 什么是 Adobe Experience Platform (AEP)?
  • 男孩子怎么做网站推广查询域名是否备案?
  • 帝国cms 关闭网站企业管理咨询心得体会
  • StarRocks 在 Cisco Webex 的探索与实践
  • 线程等待、终止与资源回收
  • NestJS 系列教程(十一):集成 Swagger 实现自动 API 文档与接口测试
  • 深圳招聘网站推荐上海华东建设发展设计有限公司网站
  • 网站建设 应酷wordpress4.0安装教程