• 6617阅读
  • 9回复

如何像手机那样在不同界面间进行切换 [复制链接]

上一主题 下一主题
离线yihuage
 

只看楼主 倒序阅读 楼主  发表于: 2011-11-22

功能要求和手机上的差不多:
首先进入待机界面,在定栏上显示电池信息、信号强度等,中间显示时间;
点击下面按键,进入主菜单,主菜单最上面一栏也是些状态信息,界面中放些按键图标,像iphone那种。
随后点击不同图标进入不同界面。
现在很纳闷的是:
1、由于每个界面都有相同状态栏,所有想自定义一个继承自QWidget的类,类中设置状态信息,添加一些界面上都有的按键(如以前老手机上右边确定、左边返回),写了这个之后直接在main()中定义对象,能运行得到想要的界面。
2、下一步就不知道怎么走了,是不是每个界面都必须继承自自定义的界面,再写了类定义?到时候再生成对象。
3、以前做的都只有一个主界面,只需在设置界面时直接this->setLayout 就行了,感觉如果需要很多个界面,这样好像不行,而且想手机一样,每次都只显示一个界面,每个界面还都是单独的,真不知该如何?
4、怎么做到像手机那样,能不同界面切换?(按下面的左右两个键)
离线XChinux

只看该作者 1楼 发表于: 2011-11-22
Qt Quick Component 1.1 for Symbian,也能在桌面上运行的,和你的要求比较相似,呵呵。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线yihuage

只看该作者 2楼 发表于: 2011-11-22
高手指点下迷津
界面差不多这样子
离线XChinux

只看该作者 3楼 发表于: 2011-11-22
用Qt Widget开发的话,客户区用QStackedWidget
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线yihuage

只看该作者 4楼 发表于: 2011-11-22
运行在 linux 平台
主要是有很多很多界面
而每个界面又是独立的,当然最上面一栏是相同的

qt 好像只有一个主线程,显示一个主界面
离线yihuage

只看该作者 5楼 发表于: 2011-11-22
回 3楼(XChinux) 的帖子
了解了下QStackedWidget
好像使用时一般都会与QComboBox、qtreewidget等一起,点击时调用用户槽,且界面中会放置QStackedWidget 对象,点击后用来显示对应QWidget对象。

如果在主界面与按键关联起来,应该能点击时候创建一个界面,就像上图的主界面,我不会将QStackedWidget 对象不会放在主界面上,那创建的界面在哪里显示呢?之前的主界面又会如何呢?
离线jdwx

只看该作者 6楼 发表于: 2011-11-22
回 5楼(yihuage) 的帖子
就看你想要什么样的效果,像windows一样的多任务,还是ios那样的单任务。
多任务用:QStackedWidget
单任务用:QWidget,每个页面一个widget,做一个主widget带标题栏,状态栏,切换中间布局里的widget,原来的delete,new一个新的放进去。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线yihuage

只看该作者 7楼 发表于: 2011-11-22
回 6楼(jdwx) 的帖子
单任务用:QWidget,每个页面一个widget,做一个主widget带标题栏,状态栏,切换中间布局里的widget,原来的delete,new一个新的放进去。

这样确实应该可行,如果只是需要界面。

多任务用:QStackedWidget
能否具体点
离线jdwx

只看该作者 8楼 发表于: 2011-11-23
回 7楼(yihuage) 的帖子
事实上就是这么回事,不管需要几个页面,用什么办法,只要增加一个功能就要增加代码、信号、槽什么的,每个页面上有什么都要new出来,不可能有什么简单的办法。
想想ios,单任务,每个程序不是单独是widget吗?

其实你要做的是个模拟操作系统,每个页面就是一个小程序。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线yihuage

只看该作者 9楼 发表于: 2011-11-25
听上面的,应该是需要每个界面都要重新继承,重新new出来。
界面切换的话就是隐藏或者delete掉原先的,再显示

没办法
快速回复
限100 字节
 
上一个 下一个