1. 新建QMainWindow工程



取消生成.ui文件

2. 菜单栏

在mainwindow.cpp中添加头文件 和

#include <QMenuBar>
#include <QMenu>
#include <QAction>
#include <QDebug>

新建菜单栏

// 新建菜单栏
QMenuBar *menuBr = menuBar();
setMenuBar(menuBr);

给菜单栏添加菜单

// 添加菜单
QMenu *pFile = menuBr->addMenu("File");

给菜单添加菜单项

// 添加菜单项
QAction *pNew = pFile->addAction("new file");
QAction *pOpen = pFile->addAction("open file");

给菜单项绑定动作

connect(pNew, &QAction::triggered,
[] ()
{
qDebug() << "Create new file";
}
);
connect(pOpen, &QAction::triggered,
[] ()
{
qDebug() << "Open file";
}
);

保存后运行, 点击"File"菜单下的"new file"和"open file", 会有对应的log输出: [动图卡住,就右键查看图片]

添加分割线

在添加new fileopen file两个菜单项代码的中间, 添加一条分割线:

pFile->addSeparator();  // 添加分割线

添加后, 分割线长这样:

3. 工具栏

添加头文件

添加工具栏

QToolBar *toolBar = addToolBar("ToolBar");

这个时候工具栏什么都没有, 我们需要往里面加东西:

给工具栏添加快捷键

toolBar->addAction(pNew);

这样, 新建文件的快捷键就被添加到工具栏了:



点击快捷键, 会有对应的log输出. 但是我们见到的工具栏里的快捷键都是小图标, 没有这么丑的, 用文字的, 比如WPS的工具栏:



但是我们这里先不讲怎么添加图标, 暂时先用Button代替一下

Qt5教程: (6) 菜单栏、工具栏、状态栏及核心控件的更多相关文章

  1. QT+ 状态栏+核心控件+浮动窗口

    #include "mainwindow.h" #include <QStatusBar> #include <QLabel> #include<QT ...

  2. Qt5 UI信号、槽自动连接的控件重名

    Qt5 UI信号.槽自动连接的控件重名 来源 http://blog.csdn.net/goldenhawking/article/details/51865909 对Qt5稍有熟悉的童鞋都知道信号. ...

  3. 如何在BCGControlBar工程的工具栏里面新增下拉列表控件

    通常情况下,工具栏里面都是一些按钮和图片,很少可以看到下拉列表控件,但是在某些应用场合,也需要用到下拉列表控件.今天在这里就简单讲解下如何在工具栏里添加下拉列表控件.   添加的过程也比较简单,在CM ...

  4. WPF教程十一:简单了解并使用控件模板

    WPF教程十一:简单了解并使用控件模板 这一章梳理控件模板,每个WPF控件都设计成无外观的,但是行为设计上是不允许改变的,比如使用Button的控件时,按钮提供了能被点击的内容,那么自由的改变控件外观 ...

  5. Android高手进阶教程(二十八)之---Android ViewPager控件的使用(基于ViewPager的横向相册)!!!

      分类: Android高手进阶 Android基础教程 2012-09-14 18:10 29759人阅读 评论(35) 收藏 举报 android相册layoutobjectclassloade ...

  6. Qt5 UI信号、槽自动连接的控件重名大坑(UI生成的槽函数存在一个隐患,即控件重名。对很复杂的控件,不要在 designer 里做提升,而是等到程序启动后,再动态创建,可以避免很多问题)

    对Qt5稍有熟悉的童鞋都知道信号.槽的自动连接机制.该机制使得qt designer 设计的UI中包含的控件,可以不通过显式connect,直接和cpp中的相应槽相关联.该机制的详细文章见 http: ...

  7. PyQt4 菜单栏 + 工具栏 + 状态栏 + 中心部件 生成一个文本编辑部件示例

    我们将创建一个菜单栏.一个工具栏.一个状态栏和一个中心部件. #!/usr/bin/python # -*- coding:utf-8 -*- import sys from PyQt4 import ...

  8. C#Windows窗体界面设计_05_添加菜单栏 工具栏 状态栏 按钮

  9. 【原创】Silverlight DataGrid对核心控件DataGrid的任意单元格进行获取和设置分析。

    前几天,公司同事有个需求需要对系统中的DataGrid控件的指定单元格(如图,申请人ID)进行禁用设置,尝试了很多次总是 整行整列的 禁用 没实现效果. 网上资料较少,没找到解决措施. 尽管silve ...

随机推荐

  1. Git学习-安装与创建本地仓库

    前言 以前公司进行项目的版本管理都是用svn,最近公司推荐用git,把svn给关闭了.没办法,拿来主义.网上一番猛操作,勉强也能用了,给自己做个笔记. git安装 因为我用的是windos系统,在Wi ...

  2. 疑难杂症----udf提权无法导出.dll

    昨天进行测试一个网站,进行udf提权时候,没办法导出.dll, 起初以为是这个马的问题,后来用专用马,一样不行,但是有报错了,有上网找了半天,终于被我找到了. Mysql数据库从文件导入或导出到文件, ...

  3. WebDriver 将浏览器窗口最大化

    package com.entrym.main; import java.io.File; import java.io.IOException; import org.openqa.selenium ...

  4. Linux 笔记 - 第十九章 配置 Squid 正向代理和反向代理服务

    一.简介 Squid 是一个高性能的代理缓存服务器,对应中文的乌贼,鱿鱼的意思.Squid 支持 FTP,gopher 和 HTTP 协议.和一般的代理缓存软件不同,Squid 用一个单独的,非模块化 ...

  5. vue -- vue-cli webpack项目打包后自动压缩成zip文件

    用vue2.0开发项目,使用npm run build 命令 ,但是只会生成dist文件夹,以下是生成zip压缩包方法 1,插件安装 webpack插件安装 filemanager-webpack-p ...

  6. 品Spring:bean定义上梁山

    认真阅读,收获满满,向智慧又迈进一步... 技术不枯燥,先来点闲聊 先说点好事高兴一下.前段时间看新闻说,我国正式的空间站建设已在进行当中.下半年,长征五号B运载火箭将在海南文昌航天发射场择机将空间站 ...

  7. PMP全真模拟题真题試題含答案解析 2019年下半年PMP考試适用 PMP中文文对照试题 【香港台灣地區PMP考試也可用】

    PMP全真模拟题真题试题 含答案解析 2019年下半年PMP考试适用 PMP中文文对照试题 [香港台灣地區PMP考試也可用]PMP全真模擬題真題試題 含答案解析 2019年下半年PMP考試适用 PMP ...

  8. 转:int整数除以int整数一定得到的是int整数(易忽视)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/u014053368/article/de ...

  9. Google AppCrawler初探

    AppCrawler是什么 你可以把它想成类似monkey一样的工具,调起你的应用程序并执行各种动作(点击,输入,滑动等)来通过这种方式 来查看各种情况下应用程序的状态 官方文档链接:AppCrawl ...

  10. thymeleaf 语法

    一.语法: 1. 简单表达式 (simple expressions) ${...}  变量表达式 *{...}  选择变量表达式 #{...}  消息表达式 @{...}  链接url表达式 2.字 ...