当前位置: 首页 > news >正文

撕碎QT面具(1):Tab Widget转到某个Tab页

笔者未系统学过C++语法,仅有Java基础,具体写法仿照于大模型以及其它博客。自我感觉,如果会一门对象语言,没必要先刻意学C++,因为自己具有对象语言的基础,等需要用什么再学也不迟。毕竟不是专门学C++去搞算法。

1、话不多说,直接效果展示:

2、项目结构:

 其中page1、page2、page3相关文件需要手动创建,创建办法如下:

修改为自己想要的名字: 

 

一直默认点击到"完成"

3、更改创建的三个文件的.ui文件,如page1.ui。改成你想要的样子。在这里我只是在页面1加上了label。

 4、修改widget.ui,并拖拽Tab Widget到页面内,然后删除所有页。

最后这个部分会变成白色。 

 这个Tab Widget的名称需要改成tabW1,因为后续编程需要用到。

5、修改widget.h这个头文件

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
//  导入三个文件的头文件
#include "page1.h"
#include "page2.h"
#include "page3.h"QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();page1 *ppage1 = NULL;page2 *ppage2 = NULL;page3 *ppage3 = NULL;private slots:void on_tabWidget_tabBarClicked(int index);private:Ui::Widget *ui;
};
#endif // WIDGET_H

主要是添加如图上面的部分,因为widget是需要展示的最大的盒子,而这几个page需要借助这个大盒子进行展示,因此就把这几个page全都先放进来。

6、修改widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include "page1.h"
#include "page2.h"
#include "page3.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);this->ppage1 = new page1; //实例化页面1this->ppage2 = new page2;this->ppage3 = new page3;ui->tabW1->insertTab(0,this->ppage1,"页1");ui->tabW1->insertTab(1,this->ppage2,"页2");ui->tabW1->insertTab(2,this->ppage3,"页3");}Widget::~Widget()
{delete ui;
}

 之所以删除所有的页,是因为会在这里添加页,因此不需要页。

7、结束,运行即可!

http://www.lryc.cn/news/537899.html

相关文章:

  • DeepSeek24小时写作机器人,持续创作高质量文案
  • npm安装依赖(npm install)时遇到认证错误的解决方案
  • SpringBoot+微信小程序+数据可视化的宠物到家喂宠服务(程序+论文+讲解+安装+调试+售后等)
  • 免费大模型网站
  • OpenCV的主要模块
  • 使用 Python 爬虫和 FFmpeg 爬取 B 站高清视频
  • Retrieval-Augmented Generation for LargeLanguage Models: A Survey
  • 2025年2月16日(numpy-deepseek)
  • C#windows窗体人脸识别
  • 【第11章:生成式AI与创意应用—11.1 文本生成与创意写作辅助的实现与优化】
  • 【Elasticsearch】通过运行时字段在查询阶段动态覆盖索引字段
  • 电解电容的参数指标
  • linux 内核编译报错 unknown assembler invoked
  • HTML,API,RestFul API基础
  • js 使用缓存判断在规定时间内显示一次弹框
  • 使用新版本golang项目中goyacc依赖问题的处理
  • 洛谷 P2574 XOR的艺术/CF242E XOR on Segment 题解
  • 包管理器-汇总介绍
  • mysql系列8—Innodb的undolog
  • 静默安装OGG for MySQL微服务版本,高效开展数据同步和迁移
  • 【Golang 面试题】每日 3 题(五十五)
  • PHP关键字入门指南:分类与功能全解析
  • 消息中间件深度剖析:以 RabbitMQ 和 Kafka 为核心
  • 【万字详细教程】Linux to go——装在移动硬盘里的Linux系统(Ubuntu22.04)制作流程;一口气解决系统安装引导文件迁移显卡驱动安装等问题
  • HCIA项目实践---OSPF的基本配置
  • Vue 自动配置表单 el-switch等不常用组件覆盖默认值问题
  • 零基础购买阿里云服务器,XShell连接云服务器
  • 【系统架构设计师】虚拟机体系结构风格
  • C语言中qsort函数使用技巧
  • WPF的Prism框架的使用