搜索切换qt页面,网上大都给出的是不同窗口之间的切换,做登录界面时可以用这种,但是当我们在主界面做的按钮比较多时,
切换界面总是比较麻烦,而且项目中大多使用Stacked Widget,下面我们来看看怎么实现。
首先在ui界面拖出几个按钮,在按钮下面拖出Stacked Widget,并把Stacked Widget拉大一点,在Stacked Widget中拖出label记为页面1。
右击Stacked Widget,插入页面并拖入相应的label,分别命名为页面2、3、4、5。
按下F4,点击切换按钮1,添加信号与槽,信号选择clicked()。
在右边框选择编辑,添加以下槽函数。把5个按钮连接相应的槽函数,连接完成按F3回到编辑窗口部件状态。
扫描二维码关注公众号,回复:
1100247 查看本文章
此时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); }
之后编译运行,效果如下。