千家信息网

C/C++ Qt TabWidget如何实现多窗体创建

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要为大家展示了"C/C++ Qt TabWidget如何实现多窗体创建",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"C/C++ Qt TabWi
千家信息网最后更新 2025年02月01日C/C++ Qt TabWidget如何实现多窗体创建

这篇文章主要为大家展示了"C/C++ Qt TabWidget如何实现多窗体创建",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"C/C++ Qt TabWidget如何实现多窗体创建"这篇文章吧。

在开发窗体应用时通常会伴随分页,TabWidget组件配合自定义Dialog组件,可实现一个复杂的多窗体分页结构,此类结构也是ERP等软件通用的窗体布局方案。

首先先来实现一个只有TabWidget分页的简单结构,如下窗体布局,布局中空白部分是一个TabWidget组件,下方是一个按钮,当用户点击按钮时,自动将该窗体新增到TabWidget组件中。

该页面关联代码如下所示,当用户点击on_pushButton_clicked()时自动新增一个窗体并将窗体的Tab设置为指定的IP地址。

t->setTabIcon(cur,QIcon(":/image/1.ico"));    ui->tabWidget->setCurrentIndex(cur);    ui->tabWidget->setVisible(true);}// 关闭Tab时执行void MainWindow::on_tabWidget_tabCloseRequested(int index){    if (index<0)        return;    QWidget* aForm=ui->tabWidget->widget(index);    aForm->close();}// 在无Tab页面是默认禁用void MainWindow::on_tabWidget_currentChanged(int index){    Q_UNUSED(index);    bool en=ui->tabWidget->count()>0;    ui->tabWidget->setVisible(en);}其中的每一个子窗体,都需要动态获取父窗体指针根据指针对自身进行操作,子窗体代码如下.#include "formdoc.h"#include "ui_formdoc.h"#include "mainwindow.h"#include #include FormDoc::FormDoc(QWidget *parent) :    QWidget(parent),    ui(new Ui::FormDoc){    ui->setupUi(this);    QVBoxLayout *Layout = new QVBoxLayout();    Layout->setContentsMargins(2,2,2,2);    Layout->setSpacing(2);    this->setLayout(Layout);    MainWindow *parWind = (MainWindow*)parentWidget(); //获取父窗口指针    QString ref = parWind->GetTableNumber();           // 获取选中标签索引    std::cout << ref.toStdString().data() << std::endl;}FormDoc::~FormDoc(){    delete ui;}

代码运行效果如下:

以上是"C/C++ Qt TabWidget如何实现多窗体创建"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

窗体 组件 代码 内容 布局 篇文章 结构 指针 按钮 用户 页面 学习 帮助 复杂 个子 动态 只有 地址 常会 效果 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 易遨网络技术有限公司 我会软件开发的英语 数据库设备的价格 兰石爱特工业互联网科技公司 天津服务器回收免费咨询 如何获取选中的一行数据库 数据库一个长字段做汉字脱敏 qq好友验证申诉连接不到服务器 快云服务器管理助手下载 网上邻居 服务器 南关区智能网络技术咨询售后服务 数据库中并发的定义 软件开发流程的方法jad 花生壳建立服务器 开源数据库用什么开发 生物信息学软件开发过程 网络安全 教学反思 在数据库系统阶段数据是什么结构 数据库某同学报名男子三级跳项目 上海网络软件开发服务平均价格 企业网络安全保障 数据库检索查询 2022软件开发国家文件 网络安全宫保鸡丁 大连华信软件开发管培生面试 辛集软件开发电话 学习安卓软件开发需要学 网络技术有限公司被举报案件 计算机网络技术的应用的毕业设计 国泰安数据库可以免费使用吗
0