首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

怎么QT界面切换

2013-04-21 
如何QT界面切换开始以个满屏的登陆界面 点击去顶以后进到下一个页面//登陆class LoginPage : public QFram

如何QT界面切换
开始以个满屏的登陆界面 点击去顶以后进到下一个页面

//登陆
class LoginPage : public QFrame
//登陆以后的选择界面
class SelectPage : public QFrame


我是这样做的

LoginPage*login = new loginPage;
login->show();

当我点击 comfirmButton以后

login->hide();
selectPage* sp = new selectPage;
sp->show();

但我发现这样做的结果是

这是完全独立的两个窗口,不是我希望的那种,只在一个窗口里切换,也就是我希望有个父窗口

我希望的是这样的---下面的是伪代码,只是我希望的样子

QMainWindow* a = new QMainwindow;
LoginPage*login = new loginPage;
login->show();
a->addweight(login)//类似这样的

但我不知道该如何实现


[解决办法]
利用QStackedWidget,就可以了啊。
比如说:QStackedWidget *stackedwidget=new QStackedWidget(this);
LoginPage *login = new loginPage;
stackedwidget->addwidget("第一个页面显示的部件的指针,如login")
stackedwidget->addwidget("第二个页面显示。。。。")
利用QStackedWidget类中的槽函数
voidsetCurrentIndex ( int index )

voidsetCurrentWidget ( QWidget * widget )
就可以进行切换了
(希望能帮上你)
[解决办法]
建议把子窗口作为父窗口的成员变量,在父窗口中对其进行控制。
[解决办法]
tab  或是stackwidg  应该能满足要求的  
[解决办法]
1楼方法不错啊,Qt GUI编程中有具体的例子。另外还可以使用Qt有限状态机和动画框架,参照Qt Example里面的states。很炫。

热点排行