首先我们要先创建一个类来控制界面跳转的类,这里我命名为Allwidgetpoint,不用继承任何类。
Allwidgetpoint.h文件
class Allwidgetpoint
{
public:
//这里我创建2个QWidget指针的静态变量
static QWidget *pLoginUi;
static QWidget *pRegistrationUi;
Allwidgetpoint.cpp文件
#include "allwidgetpoint.h"
//静态变量要在类外赋值
QWidget *Allwidgetpoint::pLoginUi =NULL;
QWidget *Allwidgetpoint::pRegistrationUi = NULL;
int Allwidgetpoint::my_widget_x = 0;
int Allwidgetpoint::my_widget_y = 0;
然后我们再分别建立 Login类、和 Registration类,他们都是共有继承QWidget
Login.h文件(这里Registration类和Login类方式完全一致,只是名字不一样)
//Login.h文件中,注意要加上我们刚刚的Allwidgetpoint的头文件
#include "allwidgetpoint.h"
class Login:public QWidget
{
Q_OBJECT
public:
explicit Login(QWidget *parent = 0);
}
Login.cpp文件中
Login::Login(QWidget *parent)
: QWidget(parent)
{
Allwidgetpoint::pLoginUi = this;
}
比如我们这里要用到Login界面,那么我们就可以使用Allwidgetpoint::pLoginUi->show();来将Login显示出来。
注意:这里界面直接显示的话位置可能会比较乱,因此你可以使用QApplication::desktop()的 width()和height()来获取你屏幕的长宽,然后再使用this->setGeometry();函数来设置界面的位置!