QToolBar、QStatusBar和QDockWidget的使用

1. 工具栏 QToolBar

1.1 创建工具栏

1.1.1 工具栏的基本函数

设置工具栏的停靠区域  参数

Qt::LeftToolBarArea  //左边
Qt::RightToolBarArea  //右边
Qt::TopToolBarArea //顶部
Qt::BottomToolBarArea  //底部
Qt::AllToolBarAreas  //所有区域
Qt::NoToolBarArea //没有

QMainWindow

mainwindow.h

//实例化工具栏QToolBar* toolBar = new QToolBar;//实例化执行动作QAction* action3 = new QAction();//实例化按钮QPushButton* btn1 = new QPushButton("按钮1");QPushButton* btn2 = new QPushButton("按钮2");QPushButton* btn3 = new QPushButton("按钮3");//实例化组合框QComboBox* comboBox = new QComboBox(this);//实例化另一个工具栏QToolBar* toolBar1 = new QToolBar;

mainwindow.cpp

//工具栏的使用********************************************************************//添加一个工具栏this->addToolBar(this->toolBar);//在添加一个工具栏
//    this->addToolBar(this->toolBar1);//向工具栏添加一些工具  即执行动作(工具栏只能添加执行动作)this->action3 = this->toolBar->addAction("加粗");//注意这里设置了返回值this->toolBar->addAction("下划线");this->toolBar->addAction("缩小");//工具栏一样可以添加控件this->btn1->setFlat(true);//隐藏按钮的边框this->toolBar->addWidget(this->btn1);//向工具栏添加按钮this->btn2->setFlat(true);//隐藏按钮的边框this->toolBar->addWidget(this->btn2);//向工具栏添加按钮//向工具栏添加组合框QStringList list;list<<"星期一"<<"星期二";this->comboBox->addItems(list);this->toolBar->addWidget(this->comboBox);//添加进工具栏//在指定位置之前插入按钮this->btn3->setFlat(true);//隐藏按钮的边框this->toolBar->insertWidget(this->action3,this->btn3);//设置工具栏的允许停靠的区域this->toolBar->setAllowedAreas(Qt::RightToolBarArea);//允许停靠右边//设置工具栏是否可移动this->toolBar->setMovable(true);//默认可移动//设置工具栏是否可浮动this->toolBar->setFloatable(false);//true 可以  false 不可以(即不能超过窗口区域)

1.2 执行动作

QMainWindow

mainwindow.cpp

绑定

 //给加粗 执行动作 绑定信号connect(this->action3,SIGNAL(triggered()),this,SLOT(add_cu()));//给按钮绑定信号(放在工具栏中的控件也不影响他的信号)connect(this->btn1,SIGNAL(clicked()),this,SLOT(add_cu()));

定义

QMainWindow

mainwindow.h

public slots://执行一个动作的槽//工具栏的void add_cu();//加粗

实现

mainwindow.cpp


void MainWindow::add_cu(){qDebug()<<"执行加粗"<<endl;
}

2. 状态栏 QStatusBar

2.1 创建状态栏

2.1.1 状态栏的基本函数

QMainWindow

mainwindow.h

//状态栏QPushButton* btn4 = new QPushButton("100%");QPushButton* btn5 = new QPushButton("UTF-8");QPushButton* btn6 = new QPushButton("第1行 第5列");

mainwindow.cpp

//状态栏 QStatusBar的应用************************************************************//设置右下角是否有斜三角网格ui->statusbar->setSizeGripEnabled(false);//false没有//向状态栏添加基本控件//方法1this->btn4->setFlat(true);//隐藏按钮的边框ui->statusbar->addWidget(this->btn4);//方法2statusBar()->addWidget(this->btn4);//设置位置this->btn5->setFlat(true);ui->statusbar->addPermanentWidget(this->btn5);//设置到右边this->btn6->setFlat(true);ui->statusbar->addPermanentWidget(this->btn6);//设置到右边//显示加载信息状态ui->statusbar->showMessage("记事本加载中....",5000);//清除显示的加载信息状态ui->statusbar->clearMessage();

2.2 信号:

 void messageChanged(const QString &message)//消息变化时触发该信号

3. 工作区 QDockWidget

3.1 创建工作区

3.1.1 实例化纯文本编辑框

QMainWindow

mainwindow.h

//实例化纯文本编辑框QPlainTextEdit* plainTextEdit = new QPlainTextEdit;

mainwindow.cpp

//工作区的使用 QDockWidget*************************************************************//向中心工作区中添加纯文本编辑框this->setCentralWidget(this->plainTextEdit);

3.1.2 工作区基本函数

添加工作区的位置 参数

Qt::LeftDockWidgetArea//左边
Qt::RightDockWidgetArea//右边
Qt::TopDockWidgetArea//顶部
Qt::BottomDockWidgetArea//底部
Qt::AllDockWidgetAreasDock//所有
Qt::NoDockWidgetArea//没有

是否可移动、可关闭和可浮动

QDockWidget::DockWidgetClosable //可以关闭dock小部件
QDockWidget::DockWidgetMovable //可以移动小部件
QDockWidget::DockWidgetFloatable //小部件可以从主窗口分离出来,并作为一个独立的窗口浮动
QDockWidget::DockWidgetVerticalTitleBar//小部件在左侧显示一个垂直的标题栏。这可以用来增加QMainWindow中的垂直空间
QDockWidget::AllDockWidgetFeatures //可以关闭、移动和浮动
QDockWidget::NoDockWidgetFeatures //不能关闭、移动或浮动

QMainWindow

mainwindow.h

//工作区//实例化纯文本编辑框QPlainTextEdit* plainTextEdit = new QPlainTextEdit;//实例化工作区QDockWidget* dockWidget = new QDockWidget(this);//实例化组合框QComboBox* comboBox2 = new QComboBox(this);

mainwindow.cpp

//工作区的使用 QDockWidget*************************************************************//向中心工作区中添加纯文本编辑框this->setCentralWidget(this->plainTextEdit);//    //添加一个工作区this->addDockWidget(Qt::RightDockWidgetArea,this->dockWidget);//在右边添加//向工作区添加控件QStringList list2;list2<<"星期三"<<"星期四";this->comboBox2->addItems(list2);this->dockWidget->setWidget(this->comboBox2);//设置工作区允许停靠的区域this->dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea);//允许左边区域//设置是否可浮动
//    this->dockWidget->setFloating(true);//是否可移动、可关闭和可浮动
//    this->dockWidget->setFeatures(QDockWidget::NoDockWidgetFeatures);//工作区不能移动不能浮动

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/619567.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用C#实现简单的线性回归

前言 最近注意到了NumSharp&#xff0c;想学习一下&#xff0c;最好的学习方式就是去实践&#xff0c;因此从github上找了一个用python实现的简单线性回归代码&#xff0c;然后基于NumSharp用C#进行了改写。 NumSharp简介 NumSharp&#xff08;NumPy for C#&#xff09;是一…

js动态设置关键侦@keyframes

js动态设置关键侦keyframes 1.前置知识 关键侦keyframes规则通过在动画序列中定义关键侦的样式来控制CSS动画序列的中间步骤 keyframes slidein {from {transform: translateX(0%);}to {transform: translateX(100%);} } // from 等价于 0%&#xff1b;to 等价与 100% // 或…

[UI5] ODATA V4中的CRUD

文章目录 前言一、Read二、Create三、Update四、Delete 前言 ODATA V4在CRUD方面与V2截然不同。 这篇文章简单介绍V4中是如何进行CRUD操作 一、Read Model不再有read方法&#xff0c; 一般是把Path绑定到View中进行读取&#xff0c; 如果需要额外的读取数据&#xff0c;可使用…

mysql进阶 - 存储过程

目录 1. 用途&#xff1a; 2. 相关语法 2.1 创建 2.1.1 语法 2.1.2 示例 2.2 查看存储过程 2.3 调用 2.4 修改存储过程 2.5 删除存储过程 1. 用途&#xff1a; 存储过程广泛存在于一些遗留系统&#xff0c;可以减少代码的编写。而近些年&#xff0c;存储过程很少再用…

UML-类图和类图转化为代码

提示&#xff1a;文章详细的讲解了类图的四种关系&#xff0c;以及每种关系如何转化为对应的代码。 UML-类图和类图转化为代码 一、类于类之间的关系1.依赖关系2.关联关系(1) 单向关联(2) 双向关联(3) 自关联(4) 聚合关联(has-a)(5) 组合关联&#xff08;contains-a&#xff09…

Servlet-Request

一、预览 在上一篇Servlet体系结构中&#xff0c;我们初步了解了怎么快速本篇将介绍Servlet中请求Request的相关内容&#xff0c;包括Request的体系结构&#xff0c;Request常用API。 二、Request体系结构 我们注意到我们定义的Servlet类若实现Servlet接口时&#xff0c;请求…

企业网站建设中常用的英文翻译

下面好代码网在长期的网站建设业务中总结的&#xff0c;一些在企业网站建设中词语的常用翻译&#xff0c;可以让你的企业网站更具有专业性。如果你做中英文双语版本网站或者外贸网站的请收藏备用。 网站导航 site map 公司简介 PROFILE or COMPANY Profile or Company 综述 Gen…

学习Qt笔记

前言&#xff1a; 学习笔记的内容来自B站up主阿西拜编程 《Qt6 C开发指南 》2023&#xff08;上册&#xff0c;完整版&#xff09;_哔哩哔哩_bilibili《Qt6 C开发指南 》2023&#xff08;上册&#xff0c;完整版&#xff09;共计84条视频&#xff0c;包括&#xff1a;00书籍介…

【UE Niagara学习笔记】07 - 火焰的热变形效果

目录 效果 步骤 一、创建热变形材质 二、添加新的发射器 2.1 设置粒子材质 2.2 设置粒子初始大小 2.3 设置粒子持续生成 三、修改材质 四、设置粒子效果 在上一篇博客&#xff08;【UE Niagara学习笔记】06 - 制作火焰喷射过程中飞舞的火星&#xff09;的基础上继续…

【MySQL】导入导出SQL脚本及远程备份---超详细介绍

目录 前言&#xff1a; 一 navcat导入导出 1.1 导入 1.2 导出 二 mysqldump 导入导出 2.1 导入 2.2 导出 三 load data infile命令导入导出 3.1 导入 3.2 导出 四 远程备份 五 思维导图 前言&#xff1a; 随着当今企业发展&#xff0c;数据库的数据越来越多&…

Qt/QML编程学习之心得:slider(34)

滑条slider&#xff0c;有时也成为进度条progressbar&#xff0c;在GUI界面中也是经常用到的。 import QtQuick 2.9 import QtQuick.Controls 2.0 import QtQuick.Layouts 1.2ApplicationWindow {id:rootvisible: truewidth: 1920height: 720//title: qsTr("Hello World&q…

FreeRTOS系统配置

一、前言 在实际使用FreeRTOS 的时候我们时常需要根据自己需求来配置FreeRTOS&#xff0c;而且不同架构 的MCU在使用的时候配置也不同。FreeRTOS的系统配置文件为FreeRTOSConfig.h&#xff0c;在此配置文件中可以完成FreeRTOS的裁剪和配置&#xff0c;这是非常重要的一个文件&a…

Kubernetes 集群管理—日志架构

日志架构 应用日志可以让你了解应用内部的运行状况。日志对调试问题和监控集群活动非常有用。 大部分现代化应用都有某种日志记录机制。同样地&#xff0c;容器引擎也被设计成支持日志记录。 针对容器化应用&#xff0c;最简单且最广泛采用的日志记录方式就是写入标准输出和标…

必练的100道C语言程序设计练习题(上)

前言: 在计算机编程的世界中&#xff0c;C语言一直是一门备受推崇的语言。它的简洁性、高效性以及广泛应用使得学习C语言成为每一位程序员的必由之路。然而&#xff0c;掌握这门语言并不是一蹴而就的事情&#xff0c;它需要不断的练习和实践。为了帮助各位编程爱好者更好地理解…

整合junit与热部署

整合junit <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><version>2.7.0</version></dependency> 测试类上添加SpringBootTest 如&#xff1a; 注意测试类的…

计算机组成原理 CPU的功能和基本结构和指令执行过程

文章目录 CPU的功能和基本结构CPU的功能CPU的基本结构 指令执行过程指令周期概念指令执行方案指令数据流取周期数据流析指周期数据流执行周期数据流中断周期数据流 数据通路的功能和基本结构数据通路的功能数据通路的结构单总线 CPU的功能和基本结构 #mermaid-svg-jr0QOEyC6Q92…

微服务治理:微服务断路器(微服务故障隔离模式)详解

微服务断路器是一种设计模式&#xff0c;可以保护系统免于级联故障&#xff0c;通过限制对故障服务的调用来实现。它的工作原理类似于电气断路器&#xff1a;当服务遇到问题时&#xff0c;它会切断请求流&#xff0c;使其有机会恢复&#xff0c;并防止其他服务被压垮。 工作原…

透过历史的琉璃之窗:古代玻璃制品成分解析--2022年国赛C题获奖论文思考

问题一&#xff1a;数据预处理------>剔除处理无效数据 转化完美成分数据----定和为1 中心化对数比变换------消除定和限制对后续分析的影响 类别量化分析相关性 第1小问------对超过20%的比例期望计数小于5的组别---------Pearson卡方检验法 对不满足卡方前提的组别----…

使用numpy处理图片——分离通道

大纲 读入图片分离通道堆叠法复制修改法 生成图片 在《使用numpy处理图片——滤镜》中&#xff0c;我们剥离了RGB中的一个颜色&#xff0c;达到一种滤镜的效果。 如果我们只保留一种元素&#xff0c;就可以做到PS中分离通道的效果。 读入图片 import numpy as np import PIL.…

51-10 多模态论文串讲—ALBEF 论文精读

今天我们就来过一下多模态的串讲&#xff0c;其实之前&#xff0c;我们也讲了很多工作了&#xff0c;比如说CLIP&#xff0c;还有ViLT&#xff0c;以及CLIP的那么多后续工作。多模态学习在最近几年真的是异常的火爆&#xff0c;那除了普通的这种多模态学习&#xff0c;比如说视…