【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.mzph.cn/pingmian/57930.shtml

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

相关文章

C语言初阶:十.结构体基础

♥感谢您阅读本篇文章,文章内容为个人对所学内容的整理总结,欢迎大佬在评论区指点一二。♥ ♥个人主页:折枝寄北-CSDN博客折枝寄北擅长C语言初阶,等方面的知识,折枝寄北关注python,c,java,qt,c语言领域.https://blog.csdn.net/2303_80170533?…

Android Kotlin中协程详解

博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家, 👉点击跳转到教程 前言 Kotlin协程介绍: Kotlin 协程是 Kotlin 语言中的一种用于处理异步编程的机制。它提供了一…

《Python网络安全项目实战》

《Python网络安全项目实战》 项目1 Python 环境安装任务1.1 Windows上安装Python任务1.2 Ubuntu环境下安装Python 项目2 Python基础练习任务2.1 使用数据类型任务2.2 使用组合数据类型任务2.3 使用控制结构任务2.4 使用函数任务2.5 使用模块 项目3 处理文件中的数据任务3.1 读文…

雷赛L6N伺服驱动器基本参数设置——EtherCAT 总线型

1、指令脉冲设置 PA0.08代表电机转一圈,所需要的指令脉冲数,该值驱动器默认值为0,该值更改后断电重启后生效。 2、编码器反馈脉冲设置 PA0.11,代表编码器输出每转脉冲数,实际反馈的脉冲数做了4倍频处理,设…

MySql数据库中数据类型

本篇将介绍在 MySql 中的所有数据类型,其中主要分为四类:数值类型、文本和二进制类型、时间日期、String 类型。如下(图片来源:MySQL数据库): 目录如下: 目录 数值类型 1. 整数类型 2. …

【论文笔记】MLSLT: Towards Multilingual Sign Language Translation

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: MLSLT: Towards Multiling…

系统架构设计师教程 第2章 2.6 计算机语言 笔记

2.6计算机语言 ★★★★☆ 2.6.1计算机语言的组成 计算机语言 (Computer Language) 是指用于人与计算机之间交流的一种语言,是人与计算机之间传递信息的媒介。 计算机语言主要由一套指令组成,指令一般包括表达式、流程控制和集合三大部分内容。 表达…

基于JSP的高校食堂食材选购管理系统【附源码】

基于JSP的高校食堂食材选购管理系统 效果如下: 系统首页界面 用户登录页面 食材信息页面 论坛交流界面 管理员登录界面 管理员功能主界面 食材信息管理界面 订单配送管理界面 用户功能主界面 商家功能主界面 司机功能主界面 研究背景 近年来互联网技术的发展使得…

新王Claude 3.5的6大应用场景

Anthropic AI深夜发布了备受期待的Claude 3.5系列更新,包括了全新升级的Claude 3.5 Sonnet和首发的Claude 3.5 Haiku。 Claude 3.5 Sonnet能够理解细微的指令和上下文,识别并纠正自身错误,还能从复杂数据中生成深入的分析和洞察。 结合最先进…

java项目之在线考试系统设计与实现(springboot)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的在线考试系统设计与实现。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 基于JavaWeb技术…

PostgreSQL C++客户端API libpqxx的使用

PostgreSQL是一个先进的、开源的、免费的、功能强大的关系型数据库,缩写版是postgres。它使用一种客户端/服务器(C/S)的模型。一次PostgreSQL会话由下列相关的进程(程序)组成: (1).一个服务器进程,它管理数据库文件、接受来自客户端应用与数据…

C++研发笔记8——C语言程序设计初阶学习笔记6

在第一部分——课前准备的学习中,我就提到了学习C语言的过程中,练习是必不可少的环节,所以本篇笔记我们来进行记录我们学习《C语言程序设计初阶》阶段的第一篇练习文章。 题目一 下面哪个不是C语言内置的数据类型: A.char B.d…

mysql5.7.44 arm 源码编译安装

一、:下载源码:mysql官网:MySQL :: MySQL Downloads #####下载mysql安装包 : 网址:https://www.mysql.com/ 可在页面下载后上传或直接下载。 官网地址首页,拉到最底部,找到社区版本下载&#xf…

财务域——财务信息化

摘要 博文探讨了企业财务信息化相关内容。首先阐述了企业以创造价值为目标,涉及业务、管理和信息三大循环。业务循环涵盖获取 / 支付、转换、销售 / 收款等环节;管理循环包含计划、执行、控制与决策;信息循环强调数据的收集、处理、存储与输…

【Linux | IO多路复用】epoll的底层原理详解

epoll 是一种高效的 I/O 多路复用机制,广泛用于 Linux 系统中,用于处理大量并发的文件描述符。它比传统的 select 和 poll 方法具有更好的性能,特别是在处理大量并发连接时。 1.epoll的设计思路 epoll是在select 出现 N 多年后才被发明的&a…

week08 zookeeper多种安装与pandas数据变换操作-new

课程1-hadoop-Zookeeper安装 Ububtu18.04安装Zookeeper3.7.1 环境与版本 这里采用的ubuntu18.04环境的基本配置为: hostname 为master 用户名为hadoop 静态IP为 192.168.100.3 网关为 192.168.100.2 防火墙已经关闭 /etc/hosts已经配置全版本下载地址&#xff1…

软考(网工)——网络安全

文章目录 🕐网络安全基础1️⃣网络安全威胁类型2️⃣网络攻击类型 🕑现代加密技术1️⃣私钥密码/对称密码体制2️⃣对称加密算法总结3️⃣公钥密码/非对称密码4️⃣混合密码5️⃣国产加密算法 - SM 系列6️⃣认证7️⃣基于公钥的认证 🕒Hash …

MYSQL全局锁、标级锁、行级锁

一、全局锁 全局锁就是对整个数据库实例加锁。 MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新…

好/坏代码实例解读:图文并茂说明

我曾经在某处读到过一句话,基本上有以下内容: “现代世界许多人的生活都依赖于软件,例如控制大型商用客机飞行系统的软件,但软件开发领域大多不受监管。任何人都可以成为自学成才的软件开发人员,并且没有像其他高风险…

python爬虫——Selenium的基本使用

目录 一、Selenium的介绍 二、环境准备 1.安装Selenium 2.安装WebDriver 三、元素定位 1.常用定位元素的方法 2. 通过指定方式定位元素 四、窗口操作 1.最大化浏览器窗口 2.设置浏览器窗口大小 3.切换窗口或标签页 切换回主窗口 4. 关闭窗口 关闭当前窗口 关闭所…