QT之一个UI里边多界面切换

这篇具有很好参考价值的文章主要介绍了QT之一个UI里边多界面切换。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

QT之多界面交换

环境:VS2019+QT_tools

从网上查看了许多大神的帖子,先将多界面切换的方法总结如下:
1.可以通过QT Designer中添加Containers控件里的Stacked Widget实现同一个UI里的页面切换,可以通过鼠标右键或者代码实现增减页操作
2.可以通过建立多个UI文件,然后设置选择其中一个显示,其他隐藏实现不同UI界面的切换,这种方法csdn上帖子很多,在此就不赘述。
3.还有一一种方法就是将以上两种方法结合起来,同时在主窗口插入Stacked Widget,以及建立多个UI文件,再将UI文件作为空间添加到主窗口的Stacked Widget中,实现同一个窗口中的界面切换,这种方法好处是可以实现不同UI编辑的同时不会过于混乱,效率较高。

1.主窗口插入Stacked Widget

VS中找到你的主窗口Ui文件,双击打开进入Designer
QT之一个UI里边多界面切换

完成后选择上方的窗体->查看代码->保存->关闭

//调用举例如下:
 ui.stackedWidget->addWidget(A);
 ui.stackedWidget->addWidget(B);

2.创新多个Ui文件

右键项目,添加新建项
QT之一个UI里边多界面切换
Ui属性选择QWidget
QT之一个UI里边多界面切换

创建成功后解决方案中会多出3个文件:.cpp、 .h、 .ui

3.多界面切换

主窗口.h

#pragma once

#include <QtWidgets/QMainWindow>
#include"calibration.h"//建立的两个新UI
#include"camerror.h"
#include "ui_Cameraparameter.h"

class Cameraparameter : public QMainWindow
{
    Q_OBJECT

public:
    Cameraparameter(QWidget *parent = nullptr);
    ~Cameraparameter();

private:
    Ui::CameraparameterClass ui;
    calibration* ui_cal;
    camerror* ui_error;


private slots:
    void on_pushButton_clicked();
    void on_pushButton_2_clicked();
};

主窗口.cpp

#include "Cameraparameter.h"

Cameraparameter::Cameraparameter(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);

    //申请两个新界面
    ui_cal = new calibration;
    ui_error = new camerror;

    //将界面添加到stackedWidget控件
    ui.stackedWidget->addWidget(ui_cal);
    ui.stackedWidget->addWidget(ui_error);

}

Cameraparameter::~Cameraparameter()
{}

void Cameraparameter::on_pushButton_clicked()
{
    ui.stackedWidget->setCurrentIndex(2);
}
void Cameraparameter::on_pushButton_2_clicked()
{
    ui.stackedWidget->setCurrentIndex(3);
}

效果展示:
QT之一个UI里边多界面切换文章来源地址https://www.toymoban.com/news/detail-513460.html

到了这里,关于QT之一个UI里边多界面切换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Win10环境下通过Qt(c++)结合dlib库,实现人脸识别并统计现图像中人脸数量,ui界面化

      在win10平台,通过Qt5.12以及Dlib库,制作一个UI界面用于,实现人脸识别并统计现图像中人脸数量。该界面能够显示当前识别的图像,并显示当前图像中的人脸的个数。   本实验目的在于,实现dlib库在win10平台的Qt上运行,不同于在python环境下的dlib库的使用,直接 pip i

    2024年01月17日
    浏览(47)
  • QT桌面(实现界面的滑动切换)

    在ARM Linux中使用QT如何实现滑动翻页切换界面的效果呢?在ARM中是没有自带的鼠标的,那么我们如何实现滑动翻页呢?经过测试发现在ARM中运行QT程序也是可以通过重写鼠标事件来捕获触屏动作的,在ARM中滑动屏幕被定义成了鼠标左键事件,那么这样就有思路了, 重写鼠标事

    2024年02月06日
    浏览(41)
  • QT之多个界面相互切换 (stackedWidget控件)

    stackedWidget控件:   可以自由在多个widget切换,可以通过点击顶部菜单,显示不同界面,在实际开发中应用很广泛。 1. 添加控件, 在设计界面左侧添加 stackedWidget控件 2. 增加几个  widget 界面  3. 将这几个 widget 插入到 stackedWidget 首先定义 一个枚举量, 存放每个界面的编号

    2024年02月11日
    浏览(90)
  • QT之滑动切换UI框架

    使用QT制作一个UI图片切换框架。 思路:主要通过移动像素坐标差值来判断方向,左上角坐标为(0,0),右加左减,松开减去按压时的横坐标大于0则右移,否则左移。 添加点击事件 点击事件实现 video

    2024年02月16日
    浏览(32)
  • 【QT】C++和QML使用多线程优化界面切换卡顿的方法

    qt提供了一种声明式语言qml,可以使用一些可视组件以及这些组件之间的交互来描述用户界面,而c++可以只负责后台逻辑的处理,将界面和后台分离开来,由qml来做UI界面,c++负责后端处理,对我个人来说,这样的方式大大的方便了对界面和逻辑的修改和维护; 由于UI界面是工

    2024年01月19日
    浏览(42)
  • Android Studio的新界面New UI,怎么切换回老界面

    最近更新了Android Studio,发现界面风格不一样了,有点像Windows 11的风格,详见图片 不习惯,还是习惯老界面,菜单File-Setting,在Setting界面将Enable new UI的勾去掉,点OK,重启Android Studio,熟悉的界面又回来了。

    2024年02月19日
    浏览(40)
  • Qt调用主界面ui

    在其他类中使用主界面ui,this,控件操作等 首先,子类需要包含主界面的头文件和ui_xx.h文件,声明主界面类 然后使用构造函数把主界面的指针传递给子类 子类头文件: 子类cpp文件: 主界面头文件设置ui为公有: 主界面cpp文件设置: 效果图:

    2024年02月02日
    浏览(53)
  • Qt纯代码实现UI界面

    设置编辑框内容的字体样式,包括加粗、下划线、斜体、蓝色、红色、黑色

    2024年01月19日
    浏览(37)
  • 用QT实现自己的UI界面

    对刚入门的QT小白做一些基础知识总结,希望能帮助到你。 1,概念:QT是做UI界面的,一个跨平台的开发软件,使用QT改进了的C++语言进行开发,所以面向对象,开发效率高。 2,模块 首先要理解QT中的 信号与槽 ,sender每发送一个信号都有一个对应的槽函数来接收信号,所以

    2024年02月13日
    浏览(56)
  • Qt子线程控制主界面UI控件

    在子线程里控制主界面的UI控件有两种方法:第一种是在子线程中发送信号,然后在主线程中去更新;第二种方法是在子线程中创建同样的对象,然后把主界面中控件的指针赋给创建的对象。 第一种方法在此不做实例展示,在此通过一个简单的例子展示第二种方法: 下面是主

    2024年02月15日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包