【Qt】窗口——Qt窗口的概念、常用的窗口函数、菜单栏、工具栏、状态栏、浮动窗口、对话框

news2024/11/28 16:39:24

文章目录

  • Qt
    • 窗口
      • Qt窗口的概念
      • 菜单栏
      • 工具栏
      • 状态栏
      • 浮动窗口
      • 对话框

Qt

在这里插入图片描述
  

窗口

Qt窗口的概念

  QMainWindow 类概述:

  QMainWindow 是一个为用户提供主窗口程序的类,它继承自 QWidget 类,并且提供了一个预定义的布局。

  

在这里插入图片描述

  

菜单栏

  菜单栏常用属性:

  菜单栏(menu bar):位于主窗口的顶部,用于提供各种操作命令的入口,比如文件的打开、保存,编辑操作等。

属性名功能描述
title菜单栏的标题文本。
actions菜单栏中包含的所有动作(菜单项)的列表。
isVisible表示菜单栏是否可见。
font菜单栏的字体设置。
styleSheet用于设置菜单栏的样式表,可控制其外观样式,如颜色、背景等。

  

菜单栏常用函数:

函数名功能描述
addMenu(const QString &title)添加一个菜单,参数为菜单标题。
addAction(QAction *action)向菜单栏添加一个动作(菜单项)。
removeAction(QAction *action)从菜单栏移除一个动作。
menuBar()获取主窗口的菜单栏对象。

  

菜单栏信号:

信号名功能描述
triggered(QAction* action)当菜单项(QAction)被触发(点击)时发出此信号。这个信号对于执行与菜单项相关的操作非常有用,例如在点击 “打开文件” 菜单项时,可以连接这个信号来实现文件打开的功能。
hovered(QAction* action)当鼠标指针悬停在菜单项上时发出。可以用于显示菜单项的提示信息或者改变菜单项的外观以提示用户。

  

在这里插入图片描述

  

在这里插入图片描述

  

在这里插入图片描述

  

工具栏

  工具栏 (tool bars):通常也位于主窗口的上部区域,可提供一些常用操作的快捷按钮,方便用户快速执行相关功能,如在文本编辑器中可能有字体设置、加粗、斜体等快捷按钮的工具栏。

  

工具栏常用属性:

属性名功能描述
orientation工具栏的方向,如水平或垂直。
isVisible工具栏是否可见。
floatable工具栏是否可浮动。
movable工具栏是否可移动。
iconSize工具栏上按钮图标的大小。

  

工具栏常用函数:

函数名功能描述
addToolBar(Qt::ToolBarArea area, QToolBar *toolbar)添加一个工具栏到指定区域,area表示区域,toolbar是工具栏对象。
addAction(QAction *action)向工具栏添加一个动作(工具按钮)。
removeAction(QAction *action)从工具栏移除一个动作。
toolBars()获取主窗口的所有工具栏列表。

  

工具栏信号:

信号名功能描述
actionTriggered(QAction* action)当工具栏上的工具按钮(由 QAction 表示)被点击触发时发出。可以用于执行相应的工具操作,比如在点击 “保存” 按钮时,连接此信号来实现保存文件的功能。

  

在这里插入图片描述

  

在这里插入图片描述

  

状态栏

  状态栏 (status bar):一般位于主窗口的底部,用于显示一些当前应用程序的状态信息,比如当前文档的字数统计、当前操作的提示等。

  

状态栏常用属性:

属性名功能描述
sizeGripEnabled是否显示状态栏右下角的尺寸调整手柄。
isVisible状态栏是否可见。
minimumSize状态栏的最小尺寸。
maximumSize状态栏的最大尺寸。
contentsMargins状态栏内容的边距。

状态栏常用函数:

函数名功能描述
showMessage(const QString &message, int timeout = 0)在状态栏显示一条消息,timeout表示消息显示的时间(毫秒),0 表示一直显示。
addWidget(QWidget *widget, int stretch = 0)向状态栏添加一个小部件,stretch表示拉伸因子。
removeWidget(QWidget *widget)从状态栏移除一个小部件。
statusBar()获取主窗口的状态栏对象。

  

状态栏信号

信号名功能描述
messageChanged(const QString& message)当状态栏显示的消息发生改变时发出。可以用于记录消息变化或者根据消息内容进行其他相关操作。

  

在这里插入图片描述

  

浮动窗口

  浮动窗口(dock widgets):这些部件可以在主窗口内灵活停靠或浮动,用户可根据自己的需求调整它们的位置,比如在一些图形编辑软件中,可能会有颜色选择的浮动窗口等。

  

浮动窗口常用属性:

属性名功能描述
title浮动窗口的标题。
isVisible浮动窗口是否可见。
floating是否处于浮动状态(与停靠相对)。
allowedAreas允许浮动窗口停靠的区域,如顶部、底部、左侧、右侧等。
features浮动窗口的特性,如是否可关闭、是否可最大化等。

  

浮动窗口常用函数:

函数名功能描述
addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockWidget)将浮动窗口添加到指定区域,area是区域,dockWidget是浮动窗口对象。
setAllowedAreas(Qt::DockWidgetAreas areas)设置浮动窗口允许停靠的区域。
toggleViewAction()获取用于切换浮动窗口可见性的动作。
isFloating()判断浮动窗口是否处于浮动状态。

  

浮动窗口信号:

信号名功能描述
visibilityChanged(bool visible)当浮动窗口的可见性发生变化(变为可见或者不可见)时发出。可以用于在浮动窗口显示或隐藏时更新相关的用户界面元素或者执行其他操作。
topLevelChanged(bool topLevel)当浮动窗口的停靠状态发生改变(变为顶级窗口或者变为停靠状态)时发出。这对于处理浮动窗口的布局和交互变化很有用。

  

在这里插入图片描述

  

对话框

  对话框是应用程序中最常用的界面元素。消息对话框主要用于为用户提示重要信息,强制用户进行选择操作。

  

对话框常用属性:

属性名功能描述
modal是否为模态对话框。
windowTitle对话框的标题。
size对话框的大小。
geometry对话框的位置和大小(包括位置坐标和尺寸)。
icon对话框的图标。

  

对话框常用函数:

函数名功能描述
exec()以模态方式显示对话框,阻塞直到用户关闭对话框并返回结果。
show()以非模态方式显示对话框,对话框立即显示且程序继续执行。
setWindowTitle(const QString &title)设置对话框的标题。
accept()关闭对话框并设置结果为Accepted。
reject()关闭对话框并设置结果为Rejected。

  

对话框信号:

信号名功能描述
accepted()当用户以 “接受” 的方式(如点击 “确定” 按钮)关闭模态对话框时发出。通常用于获取用户在对话框中输入的数据并进行相应的处理。
rejected()当用户以 “拒绝” 的方式(如点击 “取消” 按钮)关闭模态对话框时发出。可以用于取消正在进行的操作或者恢复之前的状态。

  

在这里插入图片描述

            

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

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

相关文章

深入解析HTTP与HTTPS的区别及实现原理

文章目录 引言HTTP协议基础HTTP响应 HTTPS协议SSL/TLS协议 总结参考资料 引言 HTTP(HyperText Transfer Protocol)超文本传输协议是用于从Web服务器传输超文本到本地浏览器的主要协议。随着网络安全意识的提高,HTTPS(HTTP Secure…

Android 下载进度条HorizontalProgressView 基础版

一个最基础的自定义View 水平横向进度条,只有圆角、下载进度控制;可二次定制度高; 核心代码: Overrideprotected void onDraw(NonNull Canvas canvas) {super.onDraw(canvas);int mW getMeasuredWidth();int mH getMeasuredHei…

服务器数据恢复—异常断电导致服务器挂载分区无法访问的数据恢复案例

服务器数据恢复环境: 某品牌服务器同品牌存储,Linux centos7EXT4文件系统。 服务器故障: 意外断电导致服务器操作系统不能正常启动。经过修复后系统可以正常启动,但是挂载的分区无法正常访问。使用fsck修复这个问题分区&#xff…

网络原理(数据链路层)->以太网帧格式解

前言 大家好我是小帅,今天我们来了解以太网帧格式 个人主页 文章目录 1.数据链路层1.1 认识以太⽹1.2 MAC地址(⽹卡的硬件地址)1.2.1 对⽐理解MAC地址和IP地址 1.3 认识MTU1.4 MTU对IP协议的影响1. 5 MTU对UDP协议的影响1.6 MTU对于TCP协议的…

隨筆 20241025 Kafka数据一致性的韭菜比喻

在Kafka中,数据一致性是通过Leader和Follower副本之间的协调来实现的。为了更容易理解这个复杂的概念,我们可以用韭菜作为比喻。 韭菜的角色 Leader韭菜:代表数据的主导者,它负责更新和维护最新的数据。Follower韭菜&#xff1a…

CNAS软件测试的好处有哪些?上海软件测试中心推荐

在进行软件测试或其他项目检测需要选择软件测试中心时,我们常常会把该公司有无资质认证考虑进去。那么CNAS认可作为检测机构或实验室的一项重要资质认证,我们可能会产生疑问:CNAS认可什么意思?CNAS软件测试又有什么好处呢? 1、CNAS认可是什…

vivo 轩辕文件系统:AI 计算平台存储性能优化实践

在早期阶段,vivo AI 计算平台使用 GlusterFS 作为底层存储基座。随着数据规模的扩大和多种业务场景的接入,开始出现性能、维护等问题。为此,vivo 转而采用了自研的轩辕文件系统,该系统是基于 JuiceFS 开源版本开发的一款分布式文件…

满足抖音视频剪辑内容要求的四款剪辑工具!!!

抖音作为短视频的主流平台,吸引了大量用户参与视频创作,视频剪辑需求也不断扩大,而市面上功能各异的视频剪辑工具也为创作者提供了丰富的选择。无论是个人分享、品牌宣传还是娱乐内容,剪辑已成为内容制作的关键。以下四款视频剪辑…

类和对象—上

目录 一、面向过程和面向对象初步认识 1.面向过程介绍 2.面向对象 二、类的引入 1.可以利用关键字struct来定义类的原因 1.1.C可以使用struct来定义类的原因是 2.利用关键字struct定义类及访问类成员的案例 3.使用关键字struct定义结构体、定义类的区别 3.1.C语言的结…

掌握机器学习中的偏差与方差:模型性能的关键

引言 在机器学习中,偏差(Bias)和方差(Variance)是两个至关重要的概念,它们共同影响了模型的性能。理解偏差与方差的本质,能够帮助我们找到模型的平衡点,提高模型的泛化能力&#xf…

简记Vue3(二)—— computed、watch、watchEffect

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

C#从零开始学习(用户界面)(unity Lab4)

这是书本中第四个unity Lab 在这次实验中,将学习如何搭建一个开始界面 分数系统 点击球,会增加分数 public void ClickOnBall(){Score;}在OneBallBehaviour类添加下列方法 void OnMouseDown(){GameController controller Camera.main.GetComponent<GameController>();…

Bug | 项目中数据库查询问题

问题描述 理论上&#xff0c;点击查询后&#xff0c;表头应当显示中文。而不是上面的在数据库中的表头【如上图示】 正常点击查询后&#xff0c;如果没有输入值&#xff0c;应当是查询所有的信息。 原因分析&#xff1a; 这里是直接使用SELECT * 导致的。例如&#xff1a; S…

Spring Task—定时任务

Spring Task 是 Spring 提供的一种轻量级定时任务调度功能&#xff0c;内置在 Spring 框架中。与 Quartz 等重量级调度框架相比&#xff0c;Spring Task 使用简便&#xff0c;无需额外依赖&#xff0c;适合在简单的调度任务场景中使用。通过注解配置方式&#xff0c;开发者可以…

学习虚幻C++开发日志——基础案例(持续更新中)

官方文档&#xff1a;虚幻引擎C编程教程 | 虚幻引擎 5.5 文档 | Epic Developer Community | Epic Developer Community 1.物体上下起伏并旋转 1.1第一种写法 创建一个继承于Actor的类&#xff0c;并为新的Actor命名为FloatingActor&#xff0c;然后点击Create Class 重新…

前端 eslint 配置,以及在git提交之前自动format

目录 1、配置eslint步骤 1、eslint安装配置步骤 2、配置scripts步骤 3、测试eslint 2、配置git-hook1、安装环境2、最终效果 众所周知&#xff0c;前端项目可以在报很多error的情况下运行。但是良好的代码规范仍然有利于项目的开发维护&#xff0c;这里提供我的规范&#xff0c…

主动元数据平台在企业建设 DataOps 体系中的“角色”

2018 年&#xff0c;Gartner 将 DataOps 纳入到数据管理技术的成熟度曲线之中。Gartner 认为&#xff0c;DataOps 是一种协作式数据管理实践&#xff0c;改善整个组织内数据管理者和使用者之间数据流的沟通、集成和自动化&#xff0c;通过对数据、数据模型和相关工序创建可预测…

Docker搭建基于Nextcloud的个人云盘/私有云盘/个人相册/家庭NAS

安装配置Docker 官方安装文档&#xff1a;https://docs.docker.com/engine/install/ Docker常用命令&#xff1a;https://blog.csdn.net/qq_43003203/article/details/139532097?spm1001.2014.3001.5502 Docker镜像仓库配置方法和国内常用镜像仓库地址&#xff1a; 输入&a…

安卓早期apk兼容性适配之内存读写

许多早期开发的apk放到现在的高版本安卓系统上使用就会出现报错&#xff0c;今天给大家带来的是内存读写权限适配教程。 工具 mt/np管理器 早期apk dex注入器&#xff08;自行下载&#xff09; 教程 使用mt查看apk打开AndroidManifest.xml表单 在权限上添加 <!-- 读取您共享…

C++ | Leetcode C++题解之 第508题出现次数最多的子树元素和

题目&#xff1a; 题解&#xff1a; class Solution {unordered_map<int, int> cnt;int maxCnt 0;int dfs(TreeNode *node) {if (node nullptr) {return 0;}int sum node->val dfs(node->left) dfs(node->right);maxCnt max(maxCnt, cnt[sum]);return su…