【QT 基础教程 十一】QWidget类详解

2023-10-29

概要:本期主要介绍Qt中QWidget类,以及它的常用属性和接口。

一、简介

1.头文件: #include<QWidget>
2.模块: QT += widget
3.功能:QWidget类是所有用户界面对象的基类,主要用于界面显示。之前我们在创建Qt项目时会选择创建QMainWindow、QWidget和QDialog三种窗口类型,QMainWIndow和QDialog都是QWidget派生的子类,应用在不用的场景中。此外,Qt程序中的控件如按钮(QPushButton)、文本框(QTextEdit)、单选框(QRadioCheck)等都是QWidget的子类。
一个widget对象如果它不存在一个父对象,那么它就是最顶层的显示窗口。对于这些顶层窗口,我们可以设置它的窗口标题、窗口图标等属性。

在这里插入图片描述

注:上图中的QGroupBox就是顶层窗口。

二、常用属性

1.acceptDrops | bool
接受拖放事件的属性,默认为false;
2.contextMenuPolicy | Qt::ContextMenuPolicy
菜单策略属性。
3.enabled | bool
是否可用属性,默认为true;
4.focusPolicy | Qt::FocusPolicy
焦点策略属性。
5.font | QFont
字体属性。
6.fullScreen | bool
是否设置全屏。
7.maximized | const bool
是否设置最大化。
8.minimized | const bool
是否设置最小化
9.sizePolicy | QSizePolicy
设置大小策略。
10.styleSheet | QString
样式表设置。
11.toolTip | QString
工具提示信息。
12.visible | bool
是否设置可见。
13.windowIcon | QIcon
窗口图标。
14.windowModality | Qt::WindowModality
窗口模态。
15.windowTitle | QString
窗口标题

三、常用接口

1.关闭、隐藏
//关闭
QWidget w;
w.close();
//隐藏
w.setHidden(true);
w.setVisible(false);
2.菜单策略
void customContextMenuRequested(const Qpoint &pos)
{
//菜单逻辑
}
3.显示
//1.show()
w.show();
//2.setHidden()
w.setHidden(false);
//3.setVisible()
w.setVisible(true);
4.释放、摧毁
w.destroy(true);
5.获取窗口ID
WId w = winId();

结尾:本期关于QWidget类的讲解就到这,接下来我们开始学习Qt控件类的相关知识。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【QT 基础教程 十一】QWidget类详解 的相关文章

  • 如何在 OS X 上的 Qt 应用程序中设置应用程序图标,足以进行分发?

    跟进这个答案 https stackoverflow com a 20918932 368896 to 这个问题 https stackoverflow com questions 20909341 what is the fastest
  • 第一次信号发射后自动断开

    我正在从文件加载网页 然后替换其中的一些 html self template web page QtWebKit QWebPage self template web page mainFrame load QtCore QUrl tem
  • 完全彻底卸载QT Creator

    问题 如何从 Linux 机器上卸载 QT Creator 我的 Debian Jessie 机器上的安装已损坏 我尝试过重新安装 修复等 但没有成功 建议我完全卸载 获取最新版本并重新安装 问题是我不确定如何执行此操作 每次我尝试时 QT
  • Qt 嵌入式触摸屏 QMouseEvents 在收到 MouseButtonRelease 之前未收到

    我在带有触摸屏的小型 ARM 嵌入式 Linux 设备上使用 Qt 4 8 3 我的触摸屏配置了 tslib 并对其进行了校准 因此 etc 中有一个 pointcal 文件 我的触摸事件的位置工作得很好 但无论如何我都会在鼠标按下或鼠标释
  • Mac OS X 上的 Qt 字体系列和样式

    我有一个基于 Qt PyQt 的 GUI 应用程序 在 Mac OS X 和其他平台 上运行 它允许用户选择字体并具有粗体和斜体选项的复选框 在更新到新的基于 Cocoa 的 Qt 时 用户发现QFontComboBox不再显示不同的字体样
  • 是否有 Qt 小部件可以浏览应用程序中小部件的层次结构(类似于 Spy++)?

    我们有一个具有复杂的小部件层次结构的应用程序 我希望能够以与 Spy 类似的方式浏览此层次结构 查看和编辑属性 例如大小 如果有一个小部件可以显示此信息 则它不需要在外部应用程序中运行 那么问题来了 这样的神兽存在吗 您可以使用Gammar
  • 如何将自定义 Qt 类型与 QML 信号一起使用?

    我在 Qt 5 2 qml 应用程序中创建了一个自定义类型 class Setting public QObject Q OBJECT Q PROPERTY QString key READ key WRITE setKey Q PROPE
  • 连接到 QNetworkReply::error 信号

    我正在使用 Qt5 的新连接语法 QNetworkReply 有一个名为error http qt project org doc qt 5 0 qtnetwork qnetworkreply html error 2还有一个函数叫做err
  • 如何在Android中使用QML - QWebView

    我想在 Android 中部署一个 YouTube 应用程序 但它只能在我的电脑上运行 在安卓上不起作用 它不加载任何视频 问题仅出在 QWebView 上 我使用了与此类似的代码 http doc qt io archives qt 5
  • 无法运行 Qt 应用程序:找不到版本“Qt_5”

    我运行 Ubuntu 16 04 LTS 我的问题是我无法运行可以编译的 Qt5 应用程序 这是我尝试运行它时得到的结果 home user Desktop sconfig dist Release GNU Linux SCongif us
  • Qt QML 数据模型似乎不适用于 C++

    我一直在使用中的示例http doc qt digia com 4 7 qdeclarativemodels html http doc qt digia com 4 7 qdeclarativemodels html这是 QML 声明性数
  • 即使我在单独的线程中运行,QT GUI 也会冻结

    我有一个小型聊天应用程序 其中使用 SQLite 数据库来存储所有对话 我注意到该应用程序随机冻结 然后我必须最小化和最大化它才能使其再次工作 我认为问题可能是 SQLite 选择 插入导致 gui 冻结 我决定尝试将所有 SQLite 方
  • QTabWidget 选项卡在垂直方向,但文本在水平方向

    我正在尝试用 C Qt 制作一个带有这样的侧边栏的应用程序 但是当将 QTabWidget 方向设置为西时 它会使文本垂直 如何让文本位于左侧 但水平对齐 PS 我不需要图标 提前致谢 您可以使用QListWidget http doc q
  • QML 列表视图拖放

    我想创建两个 qml 列表视图 可以执行两个功能 拖放一个列表中的项目以更改项目的顺序 跨列表拖放项目 项目将从一个列表中删除并添加到另一个列表中 根据 Qt 文档中的拖放示例 我决定创建两个访问同一列表模型的列表视图 列表模型中的每个项目
  • 为什么动态 qml 对象的创建如此缓慢,有哪些合理的替代方案?

    我想要实现的目标类似于棋盘游戏 有一个100 100的网格 放在一个Item它驻留在一个Flickable 游戏板 的各个矩形都是 svg 图像 目前大约有 20 种 可能会增加到数百种 作为基准测试 我只是尝试用元素填充 世界 Compo
  • QByteArray 到整数

    正如您可能从标题中看出的那样 我在转换QByteArray为一个整数 QByteArray buffer server gt read 8192 QByteArray q size buffer mid 0 2 int size q siz
  • QML MouseArea 将事件传播到按钮

    我正在开发一个应用程序 其菜单类似于 Android 版 Gmail 收件箱应用程序菜单 基本上 当您按下按钮打开菜单时 它就会滑入视图 用户可以将其滑开或按菜单上的按钮 对于滑动我使用了代码SwipeArea from kovrov ht
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se
  • 如何在不声明 32 个插槽的情况下将 32 个按钮的 pressed() 信号连接到单个函数?

    我有一个小部件 里面有 32 个按钮 我需要将每个按钮的 Pressed 信号连接到一个插槽 以便调用一个函数 该函数的参数取决于我按下的按钮 现在我通过以 on QPushButtonName pressed 的形式添加 32 个插槽来做
  • Qt - 添加超链接到对话框

    有没有办法在 Qt 对话框中添加可点击的超链接 IE 它应该看起来像一个超链接 蓝色文本 当您单击它时 它应该在浏览器中打开该超链接 像这样的东西 Use QLabel setOpenExternalLinks bool 并在标签上设置文本

随机推荐

  • C语言中的短路现象

    短路现象1 比如有以下表达式 a b c 只有a为真 非0 才需要判断b的值 只有a和b都为真 才需要判断c的值 举例 求最终a b c d的值 main int a b c d a 0 b 1 c 2 d a b c printf a d
  • 桥接模式与策略模式的区别

    文章转载自 http www blogjava net wangle archive 2007 04 25 113545 html 桥接 Bridge 模式是结构型模式的一种 而策略 strategy 模式则属于行为模式 以下是它们的UML
  • 【生信】全基因组关联分析(GWAS)原理

    生信 全基因组关联分析 GWAS 原理 文章的文字 图片 代码部分 全部来源网络或学术论文 文章会持续修缮更新 仅供大家学习使用 目录 生信 全基因组关联分析 GWAS 1 前提知识介绍 1 1 最小二乘法 1 2 GWAS的数学原理 1
  • 【笔记】软件测试06——Web自动化

    阅读 石墨文档 七 web自动化测试 GUI自动化测试学习内容 了解自动化测试的相关概念 掌握Selenium Webdriver常用API 掌握自动化测试中的元素定位方法 掌握自动化测试中的元素操作 掌握自动化测试断言操作 掌握unitt
  • 使用合宙Air700e点亮一个LED灯(lua)

    相信很多朋友和我一样都团了9 9的air700e开发板 我猜有很多朋友都是买来吃灰的吧 包括我也是一样 网络上的相关资料并不是很丰富 对于像我这样的小白来说不是很友好 今天给大家演示一下使用air700e演示点灯大法 通常我们见到使用通信模
  • HTML常用标签合集

    今天来讲讲有关html的常用标签 嘎嘎有用 嘎嘎好用 目录 HTML常用标签 一 首先来讲第一种 标题标签 h1 h6 二 第二种 段落标签 p 三 第三种 hgroup标签 四 第四种 强调标签 em strong 五 第五种 引用标签
  • 关于Android向前兼容和向后兼容问题的理解

    最近在和别人交流的的时候涉及到Android开发向前兼容和向后兼容的问题一头雾水 于是乎定下心来好好研究了下 虽然所知也只是些皮毛 但是也总比啥也不知道的好 所以在此总结 一 向前兼容 1 何谓向前兼容 google公司在不断的发步新的an
  • [译] 最佳安全实践:在 Java 和 Android 中使用 AES 进行对称加密

    原文地址 Security Best Practices Symmetric Encryption with AES in Java and Android 最佳安全实践 在 Java 和 Android 中使用 AES 进行对称加密 我将
  • 获取网络MP3真实地址

    MP3网站的歌曲都采用了不同的加密方法 直接从页面的源文件中是找不到其 MP3的网址的 以下有两个public class都可独立运行 只要将其构造方法更名为main方法就可以了 同时还需要在给出的JAVA源代码中找到 播放或下载代码 这一
  • 手把手带你从0完成医疗行业影像图像检测三大经典模型InceptionV3-RestNet50-VGG16(附python源代码及数据库)——改变世界经典人工智能项目实战(一)手把手教学迁移学习

    手把手带你从0完成医疗行业影像图像检测三大经典模型InceptionV3 RestNet50 VGG16 1 迁移学习简介 2 项目简介 3 糖尿病视网膜病变数据集 4 考虑类别不平衡问题 5 定义模型质量 6 定义损失函数 7 预处理图像
  • java输出json格式的文件超级详细简单!!!!

    话不多说直接上代码 package ram import com alibaba fastjson JSON import com alibaba fastjson serializer SerializerFeature import j
  • 基于java网上订餐网站系统

    通过网上西餐厅网上订餐管理系统这个平台 消费者足不出户就可以了解大量的西餐厅菜单信息 给消费者带来了极大的方便 网上西餐厅管理系统平台的主要功能包括菜单类别管理 菜单信息管理等 根据客户种类又可以划分成管理员客户和会员客户两种 本系统前台设
  • OSWatcher使用简介

    OSWatcher Black Box 简称OSW 是oracle提供的一个小但是非常有用的工具 它通过调用OS自己提供的命令来记录OS运行时的一些性能参数 比如CPU Memory Swap Network IO Disk IO相关的信息
  • 重大变更(一):关于C++26的十大猜想

    你好 我是卢誉声 在上一讲中 我们讨论了C 23带来的变化 由于C 23已经是冻结特性 所以我们讨论得非常具体 C 23作为 更好的C 20 其本质是针对C 20进行改进和修补 所以涵盖的内容比较有限 但是 作为继C 20之后的又一重大标准
  • 使用easy-poi实现excel导入导出功能

    DTO内容 DTO中内容 import cn afterturn easypoi excel annotation Excel import cn afterturn easypoi handler inter IExcelDataMode
  • 使用递归遍历并转换树形数据(以 TypeScript 为例)

    一个朋友问我应该怎么从一个树的 JSON 数组生成 HTML 使用 lt ul gt 和 lt li gt 来构建页面元素 于是我简单的画了个树型结构图 然后写了对应的模拟数据 JavaScript 对象 const data name A
  • 毕设分享 基于单片机的智能语音药箱系统(源码+硬件+论文)

    文章目录 0 前言 1 主要功能 2 硬件设计 原理图 3 核心软件设计 4 实现效果 5 最后 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉学
  • 【DCDC电源使用方法与参数讲解】以TI 公司的LMR14030为例

    DCDC电源使用方法与参数讲解 简介 一 LMR14030基本参数 二 详细设计参数讲解 2 1 DCDC反馈 1 反馈电阻的选择 2 反馈点与走线要求 3 检查与调试 2 2 开关频率 2 3 电感的选型 2 3 1 感值计算与推导 2
  • 【嵌入式学习——知识点总结】Make工程管理

    1 头文件的书写 刚开始要注意一个格式 条件编译 作用 防止头文件被重复包含 假设头文件叫main h 格式如下 ifndef MAIN H define MAIN H 1 其他头文件 2 宏的定义 3 枚举的定义 4 结构体的定义 5 共
  • 【QT 基础教程 十一】QWidget类详解

    概要 本期主要介绍Qt中QWidget类 以及它的常用属性和接口 一 简介 1 头文件 include