当前位置: 首页 > 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_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    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; //实例化页面1
    this->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.dtcms.com/a/20803.html

相关文章:

  • 数据结构——顺序表与链表
  • 华为昇腾920b服务器部署DeepSeek翻车现场
  • ESP32鼠标驱动(ble hid device_demo)【ESP32指向鼠标】
  • 外贸订货系统的核心功能模块解析
  • 基于fastadmin快速搭建导航站和API接口站点系统源码
  • 深入剖析GC问题:如何有效判断与排查
  • DeepSeek专题:DeepSeek-V1核心知识点速览
  • 国内情智机器人:从“通情达理”到温暖陪伴的跨越
  • UDP通信开发
  • 前端面试技巧与实践
  • 基于AWS云平台的法律AI应用系统开发方案
  • 嵌入式软件、系统、RTOS(高软23)
  • 深入理解Python多进程编程 multiprocessing
  • 「软件设计模式」外观模式(Facade)
  • 洛谷 B4025:最大公约数 ← 辗转相除法+更相减损法
  • YOLO11环境搭建CUDA12.6
  • Python入门全攻略(六)
  • AMBA-CHI协议详解(十四)
  • istio入门篇(一)
  • 文心智能体平台将全面接入DeepSeek
  • QT基础一、学会建一个项目
  • 零基础购买阿里云服务器,XShell连接云服务器
  • 五、敏捷方法论:敏捷团队与文化
  • MySQL视图
  • DeepSeek与医院电子病历的深度融合路径:本地化和上云差异化分析
  • 2024年年终总结
  • Linux 目录结构与基础命令学习记录
  • 时序约束进阶八:时钟抖动Jitter与不确定性Uncertainty
  • 日常工作管理软件比较:6款工具的优缺点深度分析
  • BY组态:工业自动化的未来,触手可及