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

文章目录

  • 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.rhkb.cn/news/459548.html

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

相关文章

紫光同创——盘古 50KN 网口板

本原创文章由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处(www.meyesemi.com) 一、开发系统介绍 盘古 50KN 网口板开发板(MES50H-Ethernet)采用了核心板扩展板的结 构&#…

---synchronized 关键字---

在多线程编程中,由于代码的并发执行,导致了不同的线程在修改相同的变量会导致变量的值错误 比如 变量 c 2,这里有线程A 和 B一起使用 c变量并对他加1,这时就会有多中情况 这里要注意的是变量c是储存在内存中的,而线…

【git】 git 删除了文件,如何找回

git 删除了文件,如何找回 使用 git revert 并不是恢复误删除文件的最佳方法,因为 git revert 通常用于撤销已经提交的更改(生成一个反向提交)。如果你误删除了文件,还未提交更改,或者已经提交但想恢复删除…

2024年9月电子学会青少年软件编程Python等级考试(三级)真题试卷

2024年9月青少年软件编程Python等级考试(三级)真题试卷 选择题 第 1 题 单选题 以下python表达式的值为True的是?( ) A.all( ,1,2,3) B.any([]) C.bool(abc) D.divmod(6,0) 第 2 题 单选题 下列python代码的…

钉钉与金蝶云星空数据集成:提高企业付款申请单处理效率

钉钉数据集成到金蝶云星空:付款申请单的自动下推生成 在企业日常运营中,如何高效地管理和处理付款申请单是一个关键问题。为了提升这一流程的效率,我们采用了轻易云数据集成平台,将钉钉中的付款申请单数据无缝对接到金蝶云星空系…

Spring Boot助力的厨艺互动平台开发指南

2 相关技术 2.1 Spring Boot框架简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Sprin…

代码学习:如何阅读开源代码

如何阅读开源代码 准备 目的:学习代码,代码添加新功能、旧代码重构知识准备:技术基础、编程基础、文档开发环境:依赖环境及操作系统笔记:添加代码注释及重要思路记录文档 实操 阅读项目Readme.md:大致了…

基于边缘计算的智能门禁系统架构设计分析

案例 阅读以下关于 Web 系统架构设计的叙述,回答问题1至问题3。 【说明】 某公司拟开发一套基于边缘计算的智能门禁系统,用于如园区、新零售、工业现场等存在来访被访业务的场景。来访者在来访前,可以通过线上提前预约的方式将自己的个人信息…

软考:CORBA架构

CORBA过时了吗 CORBA指南 个人小结: IPC,进程间通信,Socket应用在不同机器之间的通信 RPC是一种技术思想而非一种规范 但站在八九十年代的当口,简单来说,就是我在本地调用了一个函数,或者对象的方法&…

沧穹科技室内音频“北斗”定位技术亮相第三届北斗规模应用国际峰会

10月24日-28日,由国家发展改革委、国家网信办、交通运输部、湖南省人民政府共同主办的第三届北斗规模应用国际峰会于株洲国际会展中心隆重开幕。沧穹科技总经理戴坚先生受邀出席开幕式,公司自研室内音频“北斗”定位产品亮相北斗规模应用示范场景区。 峰…

NSSCTF刷题篇web部分

源码泄露 [FSCTF 2023]寻找蛛丝马迹 这个源码泄露,可以记录一下,涉及的知识点比较多 打开环境 查看源码, 第一段flag 乱码,恢复一下 乱码恢复网站:乱码恢复 (mytju.com) 剩下的就只说方法 http://node4.anna.nss…

Pytest-Bdd-Playwright 系列教程(2):支持在多浏览器、多环境中执行测试

Pytest-Bdd-Playwright 系列教程(2):支持在多浏览器、多环境中执行测试 前言一、 修改 conftest.py 文件二、创建配置文件三、修改search_steps.py文件四、运行测试总结 前言 本文教程知识点: 支持在多浏览器、多环境中执行测试 …

【ROS概述】C++运行hello world

Python和C通用步骤: 一、创建工作空间并初始化 1、新建工作空间(work space)——使用终端(ctrlaltT) mkdir -p 空间名称/src 2、进入工作空间 cd 空间名称 可以在文件里看到同步变化,并且demo01_ws文…

SpringBoot项目上高并发问题的解决方案

案例:多个用户同时购买数量为1的商品,所以只能有一个购买成功 不加锁 会重复购买 乐观锁,加字段处理,在并发少的时候可以使用 加版本号字段,第一次查询数量的时候读取到版本号,更新数量时用同样的版本号更新…

前端经典【面试题】持续更新HTML、CSS、JS、VUE、FLUTTER、性能优化等

HTML/CSS 面试题 什么是语义化 HTML&#xff1f; 说明&#xff1a;语义化 HTML 使用 HTML 标签来描述内容的含义&#xff0c;而不仅仅是其外观。使用语义化标签可以提高可读性和可访问性&#xff0c;并对 SEO 友好。示例&#xff1a; <header><h1>网站标题</h1&…

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

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

gin入门教程(7): 使用 Logrus + Lumberjack 创建日志中间件

结合 Logrus 和 Lumberjack&#xff0c;可以创建一个高效的日志中间件&#xff0c;用于记录请求和响应。以下是实现步骤&#xff1a; 1. 安装依赖 首先&#xff0c;确保安装了 Logrus 和 Lumberjack&#xff1a; go get github.com/sirupsen/logrus go get gopkg.in/natefin…

汉明距离汉明重量

目录 汉明距离汉明重量检错&纠错应用场景例题 汉明距离 在信息论中&#xff0c;两个等长字符串之间的汉明距离&#xff08;英语&#xff1a;Hamming distance&#xff09;是两个字符串对应位置的不同字符的个数。换句话说&#xff0c;它是将一个字符串变换成另外一个字符串…

v4.7版本使用线下付款方式不给管理员发送新订单通知问题修复

在app/api/controller/v1/order/StoreOrderController.php文件中&#xff0c;将红框内的代码注释&#xff0c;加上绿框的代码即可修复 if ($this->services->setOrderTypePayOffline($order[order_id])) {event(NoticeListener, [$order, admin_pay_success_code]);retur…

行为设计模式 -命令模式- JAVA

命令模式 一.简介二. 案例2.1 接收者&#xff08;Receiver&#xff09;2.2 命令接口实现对象&#xff08;ConcreteCommand&#xff09;2.3 调用者&#xff08; invoker&#xff09;2.4 获取Receiver对象2. 5 装配者客户端测试 三. 结论3.1 要点3.2 示例 前言 本设计模式专栏写了…