小弟是新手,做一个页面切换程序
1 新建两个Ui
2 在两个ui中加入stackedwidget控件,再分别放入两个Button
3 代码如下,结果可以使用快捷键切换页面,但是不能用鼠标点击,红字部分是加入的代码
求解谢谢
**************form.h******************************************************
#include <QWidget>
namespace Ui
{ class Form;}
class Form : public QWidget
{ Q_OBJECTpublic:
explicit Form(QWidget *parent = 0);
~Form();
Ui::Form *ui;private:
};
**********form.cpp*************************************************************
#include "form.h"
#include "ui_form.h"
Form::Form(QWidget *parent) :
QWidget(parent),
ui(new Ui::Form)
{
ui->setupUi(this);
}
Form::~Form()
{ delete ui;}
********widget.h**********************************************************************
#include <QWidget>
#include "form.h"
namespace Ui { class Widget;}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
Ui::Widget *ui;
private slots:
void showMainframe1();
void showMainframe();};
*****widget.cpp**********************************************************
#include "widget.h"
#include "ui_widget.h"
#include "ui_form.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
Form *mainfram1 = new Form(this);
this->ui->stackedWidget->addWidget(mainfram1->ui->stackedWidget->widget(0));//为stackedWidget添加第二个widge
connect(this->ui->pushButton_101, SIGNAL(clicked()), this ,SLOT(showMainframe1()));
connect(mainfram1->ui->pushButton_101, SIGNAL(clicked()), this ,SLOT(showMainframe()));
}
Widget::~Widget()
{ delete ui;}
void Widget::showMainframe()
{
this->ui->stackedWidget->setCurrentIndex(0);
}
void Widget::showMainframe1()
{
this->ui->stackedWidget->setCurrentIndex(1);
}