vs环境下qt中按钮切换页面

标签: 页面切换  qt

 搜索切换qt页面,网上大都给出的是不同窗口之间的切换,做登录界面时可以用这种,但是当我们在主界面做的按钮比较多时,

切换界面总是比较麻烦,而且项目中大多使用Stacked Widget,下面我们来看看怎么实现。

首先在ui界面拖出几个按钮,在按钮下面拖出Stacked Widget,并把Stacked Widget拉大一点,在Stacked Widget中拖出label记为页面1。



右击Stacked Widget,插入页面并拖入相应的label,分别命名为页面2、3、4、5。


按下F4,点击切换按钮1,添加信号与槽,信号选择clicked()。


在右边框选择编辑,添加以下槽函数。把5个按钮连接相应的槽函数,连接完成按F3回到编辑窗口部件状态。



此时ui界面就完成了,后面在头文件添加槽函数声明

#ifndef USER_H
#define USER_H

#include <QtWidgets/QWidget>
#include "ui_user.h"

class User : public QWidget
{
	Q_OBJECT

public:
	User(QWidget *parent = 0);
	~User();

private:
	Ui::UserClass ui;

	//槽函数声明
private slots:
	void btn1click();
	void btn2click();
	void btn3click();
	void btn4click();
	void btn5click();
};
#endif // USER_H

在.cpp中定义槽函数

#include "user.h"

User::User(QWidget *parent)
	: QWidget(parent)
{
	ui.setupUi(this);
}

User::~User()
{
		
}
//定义按钮槽函数
void User::btn1click()
{
	ui.stackedWidget->setCurrentIndex(0);
}
void User::btn2click()
{
	ui.stackedWidget->setCurrentIndex(1);
}
void User::btn3click()
{
	ui.stackedWidget->setCurrentIndex(2);
}
void User::btn4click()
{
	ui.stackedWidget->setCurrentIndex(3);
}
void User::btn5click()
{
	ui.stackedWidget->setCurrentIndex(4);
}


之后编译运行,效果如下。










版权声明:本文为weixin_42139706原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42139706/article/details/80451508