首页 > 其他分享 >在Qt中实现点击一个界面上的按钮弹窗到另一个界面

在Qt中实现点击一个界面上的按钮弹窗到另一个界面

时间:2025-01-22 18:57:24浏览次数:3  
标签:界面 WelcomeWidget 点击 新窗口 MainWindow 弹窗 Qt

文章目录

以下是一个完整的示例,展示在Qt中如何实现在一个窗口中通过点击按钮弹出一个新窗口。


步骤 1:创建新窗口类

假设你要创建一个名为 WelcomeWidget 的新窗口,首先需要选择 “编辑” -,右键项目名,在菜单中选择 “Add New…”
添加Widget文件
然后依次选择 “Qt” - “Qt 设计师界面类” ,点击“Choose”:
选择文件类型
然后选择 “Widget” ,点击“下一步”:
选择窗口类型
然后修改类名为“WelcomeWidget”(当然,你也可以修改成自己想要的类名),点击“下一步”:
给这个窗口类命名
继续点击下一步,相关的头文件 welcomewidget.h 、源文件 welcomewidget.cpp 、界面文件 welcomewidget.ui 都会自动生成:
自动生成相关文件

步骤 2:设计窗口的 UI

假设你要在MainWindow中实现点击按钮打开你刚刚添加的WelcomeWidget
在 Qt Designer 中,选择 “编辑” - “Forms”,打开界面文件 mainwindow.ui ,在可视化模式上进行界面设计。
为主窗口添加一个按钮(例如 pushButton),并将其命名为 pushButton


步骤 3:设计响应函数

打开界面文件 mainwindow.ui ,在可视化模式上,右键点击你刚刚添加的按钮(例如 pushButton),在右键菜单中选择**“转到槽…”
给按钮添加响应的槽函数
然后,选择
“clicked()”**,点击OK:
添加点击响应函数
然后,在头文件 mainwindow.h中添加一个WelcomeWidget类的指针:

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
    WelcomeWidget *WelcomeWidgetObj = NULL; // 添加一个WelcomeWidget类的指针,用于指向另一个窗口的实例化对象

// MainWindow 类的其他成员变量或成员函数
};

在源文件 mainwindow.cpp中已经自动生成的槽函数中添加一个新窗口的实例化对象,并显示新窗口:

void MainWidget::on_pushButton_clicked()
{
    // 打开图像超分辨率处理窗口
    this->WelcomeWidgetObj = new WelcomeWidget(); // 创建新窗口的实例
    WelcomeWidgetObj ->show(); // 显示新窗口的实例

    // this->close(); // 如果希望在打开新窗口后关闭原来的窗口,可以加上这一行代码
}

然后,编译、运行项目,即可实现点击一个界面上的按钮,弹窗到另一个界面的功能。
参考资料:Qt实现页面跳转

标签:界面,WelcomeWidget,点击,新窗口,MainWindow,弹窗,Qt
From: https://blog.csdn.net/Zlyzjiabjw547479/article/details/145308922

相关文章

  • qt串口工具缓冲区大小引起的问题
    最近由于通过串口向下位机发送参数,需要将原来异步接收下位机数据的方式在参数下发时改成同步,为了解决由于参数反馈数据较小导致经常无法正常收到数据的问题,故将串口的缓冲区大小设置成了64。参数下发功能正常测试通过。后续。。。后面在使用过程中发现,当设置完参数后,若是有下位......
  • QT 练习笔记
    给控件(Label)设置显示图片 www.cnblogs.com/CUIT-DX037/p/15463399.html打包Windows应用程序(*.exe) www.cnblogs.com/CUIT-DX037/p/15457435.html信号(槽)绑定的使用_connect www.cnblogs.com/CUIT-DX037/p/15667040.html 1. QMainWindow窗口初始最大化intmain(intar......
  • 界面控件 DevExpress WinForms v24.2 新版亮点:正式支持.NET 9
    DevExpressWinForms拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!DevExpressWinForms控件v24.2日前已经全新发布,新......
  • 在 Windows 中,通过修改注册表或者其他配置文件,跳过首次启动时的设置过程。这些设置通
    在Windows中,除了跳过InternetExplorer的第一次启动配置外,还有一些其他应用和服务,也可以通过修改注册表或者其他配置文件,跳过首次启动时的设置过程。这些设置通常用于让用户能够直接进入程序或系统界面,而不需要经历繁琐的初始配置步骤。以下是一些常见的跳过首次启动配置的示......
  • 如何使用深度学习框架目标检测YOLOv8训练骨折检测模型涉及到准备数据集、设置环境、预
    如何使用深度学习框架目标检测YOLOv8训练骨折检测模型涉及到准备数据集、设置环境、预处理数据、定义模型、训练模型、评估模型性能、分析结果和可视化,以及开发用户界面识别骨折X光检测数据集骨折X光检测数据集YOLO20000一套全面的X射线图像,旨在促进使用计算机视觉技......
  • [Qt]系统相关-多线程、线程安全问题以及线程的同步机制
    目录一、Qt多线程编程1.介绍2.多线程的操作线程的创建QThread的常用API使用案例3.Qt线程的使用场景二、线程安全问题1.互斥锁介绍使用案例2.读写锁三、线程的同步1.条件变量2.信号量一、Qt多线程编程1.介绍    Qt中的多线程的底层原理和注意事项等......
  • Python MQTT服务器
    pythonmqttserver是一个流行的开源工具,用于在分布式系统中实现消息传递。通过使用Python编写MQTT服务器,用户可以轻松地实现自己的消息传递系统。下面是对PythonMQTT服务器的简要解读和分析。一、PythonMQTT服务器的工作原理PythonMQTT服务器使用Python语言编写的,采用MQTT协......
  • seqtk 生信工具的安装与使用
     001、安装gitclonehttps://github.com/lh3/seqtk.gitcdseqtk/make./seqtk|head-n3  002、fastq格式转换为fasta格式[s20223040682@admin2test]$lstest.fastq[s20223040682@admin2test]$seqtkseq-atest.fastq>result.fa[s20223040682@admin2t......
  • 记录一个Qt无法载入头文件的问题
    初次安装Qt,不出意料每次新安装编辑器或编译器总要出点问题,这次想制作一个UI,创建项目后出现找不到头文件的提示:尝试添加环境变量,确认qmake环境已配置,在终端中通过qmake-v查看到qmake版本则表示配置完成,但是这个问题仍然存在。在构建套件kit中把MSVC切换成MinGW,重新创建一个......
  • [Qt] Box Model | 控件样式 | 实现log_in界面
    目录1、样式属性(1)盒模型(BoxModel)2、控件样式示例(1)按钮(2)复选框(3)单选框(4)输入框(5)列表【理解渐变色】(6)菜单栏(7)登录界面3、小结1、样式属性QSS中的样式属性非常多,大部分的属性和CSS是非常相似的。文档的QtStyleSheetsReference章节详细介绍了哪些控件可以......