> 技术文档 > QT建立多个页面并实现切换_qt一个窗口多个页面

QT建立多个页面并实现切换_qt一个窗口多个页面

参考文章:

添加新的ui文件:Qt:添加一个ui(Designer Form)文件的方法_qt designer创建form-CSDN博客https://blog.csdn.net/zhizhengguan/article/details/112916568

实现界面切换:QT窗口内嵌子页面并且多个子页面可以进行切换_qt主界面嵌入多个子窗口-CSDN博客https://blog.csdn.net/weixin_44545549/article/details/113620344


目录

一、添加新的UI

1.右击项目->选择添加新文件

2.选择Qt Designer Form Class

3.选择Widgete

4.编写类名,会自动更新源文件名和头文件名

5.完成

二、设计多页面

一、添加新的UI

1.右击项目->选择添加新文件

2.选择Qt Designer Form Class

3.选择Widgete

4.编写类名,会自动更新源文件名和头文件名

5.完成

在编辑界面可以看到相关文件已被添加

二、设计多页面

1.主页面UI设计

使用Tree Widget作为目录

双击控件进入配置界面,列是大标题,这里将列名写为学生管理系统

多个列会横向排放,这里不做举例

项目是小标题,可以设置多级目录

注意左下角三个按键,加号是新建一个同级目录,回车是新建一个子级目录,减号是删除选中目录

中间的四个按键是操作选中的目录进行操作,回车样式的是提升或者降低选中目录等级,箭头是移动位置

使用frame控件添加装饰

选中frame控件,在属性编辑器中找到styleSheet,点击功能按键

添加如下代码

//设置边框宽度为1像素,颜色为蓝色

border:1px solid blue

//设置背景颜色为白色

background-color:rgb(255, 255, 255)

border:1px solid blue;background-color:rgb(255, 255, 255)

Tree Widge控件也可以进行同样操作,并且可以根据自己的喜好,在调色板中选取颜色

2.子页面UI设计

这里随意编辑两个不同的页面

3.编写子页面和主页面代码

1.子页面初始化

在源文件添加如下代码,初始化隐藏该页面

 //对窗口进行自定义设置,去除窗口的边框和标题栏 setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint); //隐藏窗口 hide();

2.主页面

1.头文件配置,添加treewidget头文件和子页面头文件,并且新建指向其他页面的指针变量

2.源文件配置,接收其他页面构造函数函数指针,把当前对象的指针赋值给新创建的对象

 //接收其他页面构造函数函数指针,把当前对象的指针赋值给新创建的对象 page_test = new test(this); page_test2 = new test2(this);

3.编写treewidget槽函数,这里信号选择on_treeWidget_itemClicked

槽函数编写如下

void MainWindow::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column){ if(item->text(column) == \"用户信息管理\") { //隐藏窗口 page_test2->hide(); //将窗口显示在合适的位置 page_test->move(300, 100); //显示窗口 page_test->show(); } else if(item->text(column) == \"学生信息添加\") { //隐藏窗口 page_test->hide(); //将窗口显示在合适的位置 page_test2->move(400, 150); //显示窗口 page_test2->show(); }}

三、效果展示