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

撕碎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.kler.cn/a/549157.html

相关文章:

  • vscode/cursor+godot C#中使用socketIO
  • CentOS搭建PPPOE服务器
  • JUC并发-4.wait和notify以及Atomic原理
  • 4.完成html文件读取|获取title|获取content|构建url|调试(C++)
  • DeepSeek 助力 Vue 开发:打造丝滑的瀑布流布局(Masonry Layout)
  • JAVA EE初阶 - 预备知识(一)
  • 计算机视觉:卷积神经网络(CNN)基本概念(二)
  • 全方位养生指南:打造健康生活蓝图
  • 【论文笔记】On Generative Agents in Recommendation
  • Docker 数据卷的使用与数据持久化(二)
  • 数位dp入门详解
  • GDB QUICK REFERENCE (GDB 快速参考手册)
  • Vue2 中使用 UniApp 时,生命周期钩子函数总结
  • 案例-04.部门管理-删除
  • 负载测试工具有哪些?
  • unity学习44:学习Animator 的一个动作捕捉网站,实测好用
  • 蓝桥杯篇---IAP15F2K61S2串口
  • 【第13章:自监督学习与少样本学习—13.2 少样本学习(FSL)与元学习(Meta-Learning)的基础理论与应用案例】
  • 29、深度学习-自学之路-深入理解-NLP自然语言处理-做一个完形填空,让机器学习更多的内容程序展示
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_log_error 函数