【嵌入式——QT】多窗体应用程序设计

news/2024/7/27 7:44:40/文章来源:https://blog.csdn.net/weixin_39723539/article/details/136560346

【嵌入式——QT】多窗体应用程序设计

  • 主要窗体类及其用途
  • QWidget主要函数
    • setAttribute
    • setWindowFlags
    • setWindowState
    • setWindowModality
    • setWindowOpacity

主要窗体类及其用途

常用的窗体基类是QWidget、QDialog、QMainWindow,在创建GUI应用程序时选择窗体基类就是从这3个类中选择,QWidget直接继承于QObject,是QDialog和QMainWindow的父类,其他继承于QWidget的窗体类还有QSplashScreen、QMdiSubWindow和QDesktopWidget,另外还有一个类QWindow,它同时从QObject和QSurface继承。

  • QWidget:在没有指定父容器时可作为独立的窗口,指定父容器后可以作为容器的内部组件;
  • QDialog:用于设计对话框,以独立窗口显示;
  • QMainWindow:用于设计带有菜单栏、工具栏、状态来的主窗口,一般以独立窗口显示;
  • QSplashScreen:用作应用程序启动时的splash窗口,没有边框;
  • QMdiSubWindow:用于QMdiArea提供一个子窗体,用于DMI应用程序设计;
  • QDesktopWidget:具有多个显卡和多个显示器你的系统具有多个桌面,这个类提供用户桌面信息,如屏幕个数,每个屏幕的大小等;
  • QWindow:通过底层的窗口系统表示一个窗口的类,一般作为一个父容器的嵌入式窗体,不作为独立窗体;

QWidget主要函数

setAttribute

定义窗体的属性。
Qt::WidgetAttribute

  • Qt::WA_AcceptDrops:允许窗体接收拖放来的组件;
  • Qt::WA_DeleteOnClose:窗体关闭时删除自己,释放内存;
  • Qt::WA_Hover:鼠标进入或移出窗体时产生paint事件;
  • Qt::WA_AcceptTouchEvents:窗体是否接受触屏事件;

setWindowFlags

设置窗体标记。

void setWindowFlags(Qt::WindowFlags type)

Qt::WindowFlags

  • Qt::Widget:这是QWidget的默认类型。如果有父部件,则这种类型的部件为子部件;如果没有父部件,则为独立窗口;
  • Qt::Window:表示小部件是一个窗口,通常带有窗口系统框架和标题栏,而不管小部件是否有父窗口。请注意,如果小部件没有父组件,则不可能取消此标志的设置;
  • Qt::Dialog:表示部件是一个窗口,应该装饰成对话框;
  • Qt::Sheet:表示该窗口在macOS上是一个工作表;
  • Qt::Drawer:表示widget是macOS上的一个抽屉;
  • Qt::Popup:表示部件是一个弹出式顶层窗口,即它是模态的,但具有适合弹出式菜单的窗口系统框架;
  • Qt::Tool:表示widget是一个工具窗口;
  • Qt::ToolTip:表示部件是工具提示。这在内部用于实现工具提示;
  • Qt::SplashScreen:表示该窗口为启动画面。这是QSplashScreen的默认类型;
  • Qt::Desktop:表示这个小部件是桌面。这是QDesktopWidget的类型;
  • Qt::SubWindow:表示此部件是子窗口,如QMdiSubWindow部件。;
  • Qt::ForeignWindow:指示此窗口对象是表示由另一个进程或手动使用本机代码创建的本机平台窗口的句柄;
  • Qt::CoverWindow:表示该窗口表示覆盖窗口,该窗口在某些平台上应用程序最小化时显示;

setWindowState

使窗口处于最小化、最大化等状态。

void QWidget::setWindowState(Qt::WindowStates windowState)

Qt::WindowStates

  • Qt::WindowNoState:正常状态;
  • Qt::WindowMinimized:窗口最小化;
  • Qt::WindowMaximized:窗口最大化;
  • Qt::WindowFullScreen:窗口填充整个屏幕;
  • Qt::WindowActive:变为活动窗口;

setWindowModality

设置窗口的模态,只对窗口类型有用。

void setWindowModality(Qt::WindowModality windowModality)

Qt::WindowModality

  • Qt::NonModal:无状态,不会阻止其他窗口的输入;
  • Qt::WindowModal:窗口对于其父窗口。所有的上级父窗口都是模态的;
  • Qt::ApplicationModal:窗口对整个应用程序是模态的,阻止所有窗口的输入;

setWindowOpacity

设置窗口透明度。参数level是1.0(完全不透明)至0.0(完全透明)之间的数,窗口透明度缺省值是1.0。

void setWindowOpacity(qreal level)

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

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

相关文章

Linux centos 常用的网络负载和网速查看工具和命令

在 CentOS 上查看网络速度和网络负载,可以使用多种工具,以下是一些常用的命令行工具: iftop - 用于实时监视网络带宽使用情况。 安装命令: sudo yum install iftop 使用命令: sudo iftop nload - 一个简单的控制…

怎么做不限扫码次数的文件活码?文件可长期扫描展现下载

如何制作不限扫码次数的文件二维码呢?将文件转二维码后分享给其他人,是现在非常方便的一种文件传输方式。很多小伙伴在制作文件二维码的时候,比较担心的一个问题,就是二维码可以扫码的次数,担心达不到自己预期的效果&a…

JVM系列:垃圾回收器(GC)

JVM系列:垃圾回收器(GC) 😀 执行引擎将class文件加载至JVM内存中运行。在运行过程中,需要在内存中动态创建和销毁对象。在传统的C/C语言中,需要手动进行对象销毁以避免内存泄漏。而在Java中,引入…

有名信号量、网络协议模型、UDP编程发送端

我要成为嵌入式高手之3月5日Linux高编第十五天&#xff01;&#xff01; ______________________________________________________ 学习笔记 有名信号量 1、创建semget #include <sys/types.h> #include <sys/ipc.h> #include <sys/sem.h> int semget(…

下载一些ROS的包的方式

ROS Index 我们可以去ROS Index网站下载一些我们需要的包。打开浏览器在网址框输入index.ros.org。或者点击此处链接ROS Index 在这个网站中我们可以浏览并找到我们需要的包&#xff0c;也可以下载它的源代码或者仅安装到我们的系统中来使用。&#xff08;安装过程在终端中进行…

云计算 3月5号 (DNS域名解析及部署)

DNS域名解析服务 1.DNS介绍 DNS 是域名系统 (Domain Name System) 的缩写&#xff0c;是因特网的一项核心服务&#xff0c;它作为可以将域名和IP地址相互映射的一个分布式数据库&#xff0c;能够使人更方便的访问互联网&#xff0c;而不用去记住能够被机器直接读取的IP数串。…

如何防御udp攻击

UDP Flood是互联网上最经典的DDoS&#xff08;Distributed Denial of Service&#xff09;攻击之一。攻击者在短时间内向目标设备发送大量的UDP报文&#xff0c;导致链路拥塞甚至网络瘫痪。一般的UDP报文由攻击工具伪造&#xff0c;通常在数据段具备相同的特征&#xff0c;另一…

Hadoop的UI页面介绍

文章目录 前言一、HDFS的UI页面介绍1. 概述页面2. 数据节点页面2.1 单个数据节点信息页面 3. 数据卷故障信息页面4. 快照信息页面5. 启动进度信息页面6. 文件系统页面 二、YARN的UI页面介绍1. 应用程序页面2. 集群相关信息页面3. 集群节点信息页面4. 应用程序调度信息页面5. 工…

请编程输出无向无权图各个顶点的度 ← STL vector 模拟邻接表存图

【题目描述】 请利用 STL vector 模拟邻接表存图&#xff0c;编程输出无向无权图各个顶点的度。【输入样例】 5 6 1 3 2 1 1 4 2 3 3 4 5 1【输出样例】 4 2 3 2 1【算法分析】 本例利用 STL vector 模拟实现邻接表。代码参见&#xff1a;https://blog.csdn.net/hnjzsyjyj/arti…

初阶数据结构之---二叉树的顺序结构-堆

引言 今天要讲的堆&#xff0c;不是操作系统虚拟进程地址空间中&#xff08;malloc&#xff0c;realloc等开空间的位置&#xff09;的那个堆&#xff0c;而是数据结构中的堆&#xff0c;它们虽然名字相同&#xff0c;却是截然不同的两个概念。堆的底层其实是完全二叉树&#x…

Web核心

JavaWeb技术栈 B/S架构&#xff1a;Browser/Server &#xff0c; 浏览器/服务器 架构模式&#xff0c;其特点为&#xff0c;客户端只需要浏览器&#xff0c;应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器&#xff0c;获取Web资源&#xff0c;服务器把Web资源…

3.7号freeRtoS

1. 串口通信 配置串口为异步通信 设置波特率&#xff0c;数据位&#xff0c;校验位&#xff0c;停止位&#xff0c;数据的方向 同步通信 在同步通信中&#xff0c;数据的传输是在发送端和接收端之间通过一个共享的时钟信号进行同步的。这意味着发送端和接收端的时钟需要保持…

Postman(注册,使用,作用)【详解】

目录 一、Postman 1. Postman介绍 2. 安装Postman 3. 注册帐号再使用(可保存测试记录) 4. 创建workspace 5. 测试并保存测试记录 一、Postman postman工具可以发送不同方式的请求,浏览器只能发送get请求(所有用这个工具) 在前后端分离开发模式下&#xff0c;前端技术人员…

服务器配置禁止IP直接访问,只允许域名访问

联网信息系统需设置只允许通过域名访问&#xff0c;禁止使用IP地址直接访问&#xff0c;建议同时采用云防护技术隐藏系统真实IP地址且只允许云防护节点IP访问服务器&#xff0c;提升网络安全防护能力。 一、Nginx 修改配置文件nginx.conf&#xff0c;在server段里插入正则表达式…

某准网招聘接口逆向之WebPack扣取

​​​​​逆向网址 aHR0cHM6Ly93d3cua2Fuemh1bi5jb20v 逆向链接 aHR0cHM6Ly93d3cua2Fuemh1bi5jb20vc2VhcmNoP3BhZ2VOdW09MSZxdWVyeT1weXRob24mdHlwZT01 逆向接口 aHR0cHM6Ly93d3cua2Fuemh1bi5jb20vYXBpX3RvL3NlYXJjaC9qb2IuanNvbg 逆向过程 请求方式&#xff1a;GET 参数构成…

qt 添加 Mingw 组件 qt没有被正确安装,请运行make install QT License check failed! Giving up…

已经安装了qt&#xff0c;想添加mingw组件&#xff0c;步骤 1、双击打开MaintenanceTool.exe&#xff0c; 2、 3、这里只有mingw7.3.0 64-bit的qt库&#xff0c;选上&#xff0c;并在下面的tools中选择对应版本的mingw编译器&#xff0c;以及CDB Debugger。对于其他版本的Mi…

【解决方案】ArcGIS Engine二次开发时,运行后出现“正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain...”

我们在做ArcGIS Engine二次开发时&#xff0c;特别是新手&#xff0c;安装好了开发环境&#xff0c;满怀信心的准备将按照教程搭建好的框架在Visual Studio中进行运行。点击运行后&#xff0c;却出现了“正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化…

【码银送书第十三期】《ChatGPT原理与架构》

OpenAI 在 2022 年 11 月推出了人工智能聊天应用—ChatGPT。它具有广泛的应用场景&#xff0c;在多项专业和学术基准测试中表现出的智力水平&#xff0c;不仅接近甚至有时超越了人类的平均水平。这使得 ChatGPT 在推出之初就受到广大用户的欢迎&#xff0c;被科技界誉为人工智能…

GPT-4 等大语言模型(LLM)如何彻底改变客户服务

GPT-4革命&#xff1a;如何用AI技术重新定义SEO策略 在当今快节奏的数字时代&#xff0c;客户服务不再局限于传统的电话线或电子邮件支持。 得益于人工智能 (AI) 和自然语言模型 (NLM)&#xff08;例如 GPT-4&#xff09;的进步&#xff0c;客户服务正在经历革命性的转变。 在这…

Web3 之路:构建开放、透明的数字生态系统

随着区块链技术的迅速发展&#xff0c;Web3正在成为数字世界的新引擎&#xff0c;重新定义着我们的生活和工作方式。在这个数字化的时代&#xff0c;我们目睹着一个全新的网络生态正在逐渐成形&#xff0c;其中开放性和透明性是其核心特征。让我们深入探讨&#xff0c;Web3如何…