Qt + C++ 入门2(界面的知识点)

补充前面没有说到的一点就是,qt的页面你可以用qt自带的也就是前面所说的自动生成.UI文件生成前端所谓的界面,然后往里面拖控件就可以了,这个UI界面非常的适合用于新手,以及某些软件少量的界面应用 。但是有一个难点就是后期这个UI界面要跟你的系统组程序代码进行数据交换。也就导致你的前端代码和后端代码的耦合性较高。

这是非常不推荐的,因为可能前端和后端出现一点错误整个软件就死机。所以说我在前章以及本章当中都没有谈论这个UI界面创建,怎么一点点实现。因为你可能后期你会用到各种各样6的框架用于解决前端和后端耦合性较高的这个问题。不过在后面学习的过程中解决这个问题也会介绍各种各样6的框架。


1.界面到界面的切换

说一下怎么切换多个界面,说一下UI界面和PPT切换毕竟是不一样的

首先是如何创建新的UI界面,一定不要选widget,因为背景设置有些问题注意:类名部分字母大写和实例小写还是有区别的,页面切换其实有两种方法

第1种是在原有类的基础之上私有化下一页的类界面的指针,然后我们只需要调用下一页指针的秀函数就能够显示下一页。这种方法有个问题就是说它最好只嵌套一层指针,不能够再让这个指针内部再嵌套下一层指针。这是因为qt独有的父类指针问题会导致你这样嵌套会有大bug。

第2种方法就是你创建一个大类,这个大类有所有界面的指针然后通过信号与槽进行切换, 呃当然了用一个典型的例子就是使用QStackedWidget核心类,这个类我实际用下来的时候非常不顺手所以我不推荐大家使用。建议大家自己创建碰撞自己的大类。

第一种方法实现起来其实比较简单然后我就不说了,跟大家说一下第2种方法是采用信号与槽的机制进行界面之间的切换逻辑

2.界面控件的介绍

3.界面布局

相关推荐
Mercury_Lc18 分钟前
【贪心 或 DFS - 面试题】小于n最大数
数据结构·c++·算法
凤年徐21 分钟前
【数据结构】LeetCode160.相交链表 138.随即链表复制 牛客——链表回文问题
c语言·数据结构·c++·算法·leetcode·链表
拾忆,想起25 分钟前
Redis发布订阅:实时消息系统的极简解决方案
java·开发语言·数据库·redis·后端·缓存·性能优化
AllyLi022435 分钟前
CondaError: Run ‘conda init‘ before ‘conda activate‘
linux·开发语言·笔记·python
羑悻的小杀马特39 分钟前
【C++高并发内存池篇】ThreadCache 极速引擎:C++ 高并发内存池的纳秒级无锁革命!
开发语言·c++·多线程·高性能内存池
布朗克1681 小时前
OpenTelemetry 在 Spring Boot 项目中的3种集成方式
java·开发语言·opentelemetry
jingfeng5141 小时前
线程池及线程池单例模式
linux·开发语言·单例模式
指针刺客2 小时前
嵌入式筑基之设计模式
开发语言·c++·设计模式
青铜发条2 小时前
【python】python进阶——with关键字
开发语言·python
重启的码农2 小时前
Windows虚拟显示器MttVDD源码分析 (8) 驱动日志系统
c++·windows·操作系统