主页 > 手机  > 

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

撕碎QT面具(1):TabWidget转到某个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、结束,运行即可!
标签:

撕碎QT面具(1):TabWidget转到某个Tab页由讯客互联手机栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“撕碎QT面具(1):TabWidget转到某个Tab页