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(); }}