当前位置: 首页 > 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、结束,运行即可!

相关文章:

  • 数据结构——顺序表与链表
  • 华为昇腾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
  • 青海省交通运输厅副厅长田明有接受审查调查
  • 英国首相斯塔默住所起火,警方紧急调查情况
  • 新华时评:中美经贸会谈为全球经济纾压增信
  • 全球前瞻|特朗普访问中东三国,印巴军方将于12日再次对话
  • 第三届“老山国际春茶节”活动在云南麻栗坡举办
  • 5天完成1000多万元交易额,“一张手机膜”畅销海内外的启示