分类: QT2012-07-25 21:59 6997人阅读 评论(0) 收藏 举报

堆栈窗口可以根据选择项的不同显示不同的窗体

  1. // stackeddlg.h
  2. #ifndef STACKEDDLG_H
  3. #define STACKEDDLG_H
  4. #include <QDialog>
  5. #include <QLabel>
  6. #include <QListWidget>
  7. #include <QStackedWidget>
  8. class StackedDlg : public QDialog
  9. {
  10. Q_OBJECT
  11. public:
  12. explicit StackedDlg(QWidget *parent = 0);
  13. signals:
  14. public slots:
  15. private:
  16. QLabel *textLabel;
  17. QLabel *showLabel;
  18. QLabel *aboutLabel;
  19. QListWidget *list;
  20. QStackedWidget *stack;
  21. };
  22. #endif // STACKEDDLG_H
  1. //stackeddlg.cpp
  2. #include "stackeddlg.h"
  3. #include <QHBoxLayout>
  4. StackedDlg::StackedDlg(QWidget *parent) :
  5. QDialog(parent)
  6. {
  7. //创建一个QListWidget控件 并向其中添加列表项
  8. list = new QListWidget();
  9. list->insertItem(0, tr("文本窗口"));
  10. list->insertItem(1, tr("显示窗口"));
  11. list->insertItem(2, tr("关于窗口"));
  12. textLabel = new QLabel(tr("学习使用堆栈窗口"));
  13. showLabel = new QLabel(tr("仅仅是一个示例程序"));
  14. aboutLabel = new QLabel(tr("欢迎交流,共同学习"));
  15. //创建QStackedwidget控件
  16. stack = new QStackedWidget();
  17. //将控件添加到堆栈窗口中
  18. stack->addWidget(textLabel);
  19. stack->addWidget(showLabel);
  20. stack->addWidget(aboutLabel);
  21. //使用一个水平布局管理器对对话框进行布局
  22. QHBoxLayout *mainLayout = new QHBoxLayout(this);
  23. mainLayout->addWidget(list);
  24. mainLayout->addWidget(stack, 0, Qt::AlignHCenter);
  25. //设置mainLayout的边框与对话框边缘的距离
  26. mainLayout->setMargin(5);
  27. mainLayout->setSpacing(5);
  28. //信号与槽的连接,实现按选择显示窗体
  29. //此处堆栈窗口的index按插入的顺序从0依次排序,与QListWidget的条目排序一致
  30. connect(list, SIGNAL(currentRowChanged(int)), stack, SLOT(setCurrentIndex(int)));
  31. this->setWindowTitle(tr("堆栈窗口"));
  32. }
  1. //main.cpp
  2. #include <QApplication>
  3. #include <QTextCodec>
  4. #include "stackeddlg.h"
  5. int main(int argc, char *argv[])
  6. {
  7. QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
  8. QApplication app(argc, argv);
  9. StackedDlg dlg;
  10. dlg.show();
  11. return app.exec();
  12. }

Qt使用QStackedWidget实现堆栈窗口的更多相关文章

  1. Qt5布局管理(三)——QStackedWidget堆栈窗口类

    转载:LeeHDsniper 实例效果如下图: 如上图,堆栈窗口左半部分是一个QListWidget对象,右半部分是分别是三个标签.通过点击左边不同的项目,可以使得右边的Lable进行切换. 具体的结 ...

  2. qt如何实现一个渐隐窗口呢(开启的时候他是从上往下渐渐显示)

    qt如何实现一个渐隐窗口呢?就是比如说开启的时候他是从上往下渐渐显示的,关闭的时候从下往上渐渐小时的http://stackoverflow.com/questions/19087822/how-to ...

  3. vs2010 调试 调用堆栈 窗口

    msdn 如何使用call stack窗口: http://msdn.microsoft.com/zh-cn/library/a3694ts5(v=vs.90).aspx 使用“调用堆栈”窗口可以查看 ...

  4. Qt实现基本QMainWindow主窗口程序

    这个实验用Qt实现基本QMainWindow主窗口 先上实验效果图    打开一个文件,读取文件类容 详细步骤: 1.打开Qt creator新建MainWindow工程 右键工程名添加新文件,mai ...

  5. QT添加程序图标及窗口图标

    程序图标 材料准备 图标文件:*.ico文件,存放在源文件同一目录下,如"myapp.ico" 写入图标 向*.pro文件中,独立一行写入"RC_ICONS = *.ic ...

  6. QT笔记之实现阴影窗口

    方法一: 代码实现 在窗口构造函数中加入:setAttribute(Qt::WA_TranslucentBackground),保证不被绘制上的部分透明 重写void paintEvent(QPain ...

  7. Qt入门(7)——窗口几何结构

    QWidget提供了几个处理窗口几何结构的函数.这些函数中的几个操作纯客户区域(例如不包含窗口框架的窗口),其它一些包括窗口框架.它们之间的区别在某种意义上被完成覆盖明显地最普通的方法.包括窗口的框架 ...

  8. Qt编程之实现属性窗口编辑器

    类似于这种: 就是右下角这个框,有属性名字和对应的value编辑. 这个Widget是作为一个QDockWidget被添加到QMainWindow中的.QMainWindow必须要有centralWi ...

  9. 2.关于QT中的Dialog(模态窗口),文件选择器,颜色选择器,字体选择器,消息提示窗口

     1 新建一个空项目 A 编写 .pro文件 QT += gui widgets HEADERS += \ MyDialog.h SOURCES += \ MyDialog.cpp B 编写MyD ...

随机推荐

  1. Mac 平台下功能强大的Shimo软件使用指南

    年初自从换了MAC工作站后,彻底享受了Apple产品给我们带来的完美体验,可能是刚转过来不适应,在访问网络设备时觉得远程连接不方便,例如ssh,vpn登陆都不是很方便,后来又安装了openvpnfor ...

  2. 一款非常简单的android音乐播放器源码分享给大家

    一款非常简单的android音乐播放器源码分享给大家,该应用虽然很小,大家常用的播放器功能基本实现了,可能有点还不够完善,大家也可以自己完善一下,源码在源码天堂那里已经有了,大家可以到那里下载学习吧. ...

  3. activiti搭建(四)八项服务介绍

    转载请注明源地址:http://www.cnblogs.com/lighten/p/5927949.html 1.前言 之前学习的时候一直在其它文章看到activiti提供了七个接口来操作工作流,但在 ...

  4. 关于使用SVN update时出现:E155004错误

    今天早上到公司开了电脑,准备update下SVN的代码,但是在update时出现svn: E155004: Working copy 'E:\XX' locked  错误,乍眼一看以为是什么配置出错, ...

  5. protobuf的使用

    Protobuf的安装 正确安装方法: [http://blog.csdn.net/guoyilongedu/article/details/17093811] linux下安装protobuf教程+ ...

  6. (转载)前端构建工具gulp使用

    前端构建工具gulp使用 前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gulp中 ...

  7. 网页热力图 heatmap js

    HBuilder +js 实现网页热力图 废话不多说,上代码 <!DOCTYPE html> <html> <head> <title>111</ ...

  8. 如何在Netbeans中查看TODO项

    以下要说的内容可能不起眼,但本人在找的时候着实费了一番功夫,个人感觉网上说的不着点,就在这儿有针对性地记录下来操作流程吧. 关于TODO的作用这里不做说明,在IDE中编写代码时,我们总会用到TODO, ...

  9. js方法和原型继承(一)

    在js语言规范中并不存在方法这一概念,方便起见,将作为对象属性的函数成为方法this引用的规则a.在最外层代码中,this引用的是全局对象b.在函数内,this引用根据函数调用方式不同而不同函数内部的 ...

  10. 基于jQuery打造的选项卡向上弹出jquery焦点图切换特效

    基于jQuery打造的选项卡向上弹出jquery焦点图切换特效 鼠标经过标题栏,会出现层特效向上滑动,并且在同时进行幻灯片切换,效果十分不错. 有兴趣的童鞋可以下载看看,在IE6方面兼容性也不错,只有 ...