搜索切换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);
}
之后编译运行,效果如下。