文科生也能理解——QT的提升类是啥,怎么搞出来

2023-10-18 02:20

本文主要是介绍文科生也能理解——QT的提升类是啥,怎么搞出来,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、前言

1、QT是面向对象的编程框架。所有东西都包含在类里,以类的形式体现出来。

==============================================================

2、比如创建QT的标准工程,一开始出来的Widget类,表面上设计窗口的各种功能都在里面,实际上它只是一个类而已,把它用到main函数里用的是它的对象。

==============================================================

二、为啥要有“提升类”这么个东西

1、我们平时设计窗口(Widget类,后面统一叫窗口),在窗口上就能改到它所含的控件内容,而这些控件其实也可以算成是个小窗口。双击widget.ui,可以在右下的参数设置框简单查到:所谓控件也是一层一层继承自QWidget(不是工程里的Widget类,是官方自带的标准QWidget类)的。

===================================================================

2、我们可以轻松地在控件参数设置框里改控件的各种参数。

也可以在窗口(Widget类)的构造函数里,通过ui->XXX来改控件的各种参数。

===================================================================

3、但是对于控件的事件(QT的事件相当于win32里的消息),没有普通渠道去设置事件的具体反馈内容。因为控件事件包含在控件类里面,而窗口类管不到细分控件的事件。在窗口类里面就算设置了事件反馈,也只是针对窗口产生互动后,让窗口做出事件反馈。不能精耕细作地为控件订制事件反馈。

========================================================

三、怎么搞出这个提升类(对细分的控件进行设计)

1、以下是自己搞一个控件类(以QPlainTextEdit控件为例)的步骤。

 

 

==================================================================

 2、新控件(提升后)的实装测试

 

====================================================================

3、新控件实装后的效果展示(拖拽文件到平板文本编辑框)

  

 ===================================================================

3、附:官方原始控件的效果展示(拖拽文件到平板文本编辑框)

 

 ===========================================================

这篇关于文科生也能理解——QT的提升类是啥,怎么搞出来的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/229566

相关文章

C#使用yield关键字实现提升迭代性能与效率

《C#使用yield关键字实现提升迭代性能与效率》yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,本文主要来聊聊如何使用yield关键字实现提升迭代性能与效率,感兴... 目录前言传统迭代和yield迭代方式对比yield延迟加载按需获取数据yield break显式示迭

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

深入理解Redis大key的危害及解决方案

《深入理解Redis大key的危害及解决方案》本文主要介绍了深入理解Redis大key的危害及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、背景二、什么是大key三、大key评价标准四、大key 产生的原因与场景五、大key影响与危

基于Qt Qml实现时间轴组件

《基于QtQml实现时间轴组件》时间轴组件是现代用户界面中常见的元素,用于按时间顺序展示事件,本文主要为大家详细介绍了如何使用Qml实现一个简单的时间轴组件,需要的可以参考下... 目录写在前面效果图组件概述实现细节1. 组件结构2. 属性定义3. 数据模型4. 事件项的添加和排序5. 事件项的渲染如何使用

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

深入理解C++ 空类大小

《深入理解C++空类大小》本文主要介绍了C++空类大小,规定空类大小为1字节,主要是为了保证对象的唯一性和可区分性,满足数组元素地址连续的要求,下面就来了解一下... 目录1. 保证对象的唯一性和可区分性2. 满足数组元素地址连续的要求3. 与C++的对象模型和内存管理机制相适配查看类对象内存在C++中,规