• 7414阅读
  • 13回复

界面切换的问题 [复制链接]

上一主题 下一主题
离线snowseya
 

只看楼主 倒序阅读 楼主  发表于: 2011-05-10
界面分为左右两栏,左栏中有两个按钮,设为A、B。程序一运行时,默认进入点击A进入的界面A,界面A从上到下依次有一个标签、工具栏1、工具栏2、一个文本框,当点击工具栏1上的任一BUTTON时,工具栏2显示不同的BUTTON,此时点击B,进入B对应的界面A,此时再点击按钮A,要求显示在点击B之前,界面A的状态。如何实现?给个提示?STACK没做出来,有人提示用UNDO FREAME也没做出来,有哪位好心人可以详细的指点一下?万分感谢。
离线ppdayz

只看该作者 1楼 发表于: 2011-05-10
有图么?听着晕~
离线jdwx

只看该作者 2楼 发表于: 2011-05-10
QTab Widget 就是程序里常用的选项对话框
[ 此帖被jdwx在2011-05-10 15:06重新编辑 ]
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线gink_chen
只看该作者 3楼 发表于: 2011-05-10
O_o 看了两次没看懂...
离线cutemmll
只看该作者 4楼 发表于: 2011-05-10
下面是个例子,演示了如何如何将两个按键分别加入到标签A和标签B中

  1. #include <QtGui/QApplication>
  2. #include <QTabWidget>
  3. #include <QPushButton>
  4. int main(int argc, char *argv[])
  5. {
  6.     QApplication a(argc, argv);
  7.     QTabWidget w;
  8.     w.show();
  9.     //添加按键A到标签A中
  10.     w.addTab(new QPushButton("push A"),"A");
  11.     //添加按键B到标签B中
  12.     w.addTab(new QPushButton("push B"),"B");
  13.     return a.exec();
  14. }



你只需要把QPushButton替换成你自定义的窗体指针。然后再处理一下布局的问题。



[ 此帖被cutemmll在2011-05-10 22:38重新编辑 ]
c------------enjoy qt & enjoy life-----------++
离线cutemmll
只看该作者 5楼 发表于: 2011-05-11
我又仔细看了lz的问题,发现我完全答非所问。不过我现在还是不明白你要做什么。
勉强写了一个程序,实现功能如下:
点击按键A的时候就切换到窗体A,点击按键B的时候就切换到界面B。

代码见附件
描述:源代码
附件: switchWidnow.rar (5 K) 下载次数:79
c------------enjoy qt & enjoy life-----------++
离线snowseya

只看该作者 6楼 发表于: 2011-05-11
不好意思,表述不清,自己写了一个界面的切换过程,这样大家可能会看的明白些。详见附件
描述:界面
附件: 界面图例qtcn.rar (10 K) 下载次数:58
离线snowseya

只看该作者 7楼 发表于: 2011-05-11
同时谢谢大家的关心
离线snowseya

只看该作者 8楼 发表于: 2011-05-11
还有一个问题。就是如果写好了UI文件,如何根据UI文件动态的显示窗口?比如,UI文件里面定义了一个工具栏,上面有三个按键,而我在某个时刻只想显示其中的两个按键,或者在某个时刻,显示的时候要把该工具栏上次显示的状态(比如第二个按键被按下)显示出来?
离线cutemmll
只看该作者 9楼 发表于: 2011-05-11
按我代码中的方法就可以实现你点击左侧按键,便切换到对应窗体,你可以用一个
QWidget 指针记录当前正在被显示的窗体,然后在点击某个按键的时候,便隐藏这个指针指向的窗体,并且将新窗体的指针复制给这个指针,然后再显示新的窗体,这样就可以完美地进行窗体切换

关于你在8楼提出的问题,就需要你自己去控制这些控件的显示了。
c------------enjoy qt & enjoy life-----------++
离线snowseya

只看该作者 10楼 发表于: 2011-05-11
那么8楼的问题,如何解决呢?也就是说我如何去控制这些控件?可否使用STACK或者UNDO来实现?没有试验成功。
离线snowseya

只看该作者 11楼 发表于: 2011-05-11
9楼的解释,很清楚,不过,我不是整个的WIDGET,而只是切其中的一部分。你的代码是右侧是个整体,比较好实现。而我的右侧,有若干WIDGET,比如,标签、工具栏、表格。标签只是显示的内容有所变化,工个栏也只是某个BUTTON按下,表格是根据按下的BUTTON进行变化的。不会给每个都建一个指针,然后再进行显示吧?
离线anderelbe

只看该作者 12楼 发表于: 2011-05-24
下载看看,谢谢
离线anderelbe

只看该作者 13楼 发表于: 2011-08-15
O_o 谢谢
快速回复
限100 字节
 
上一个 下一个