Qt之布局管理——堆栈窗体
QStackedWidget类继承于QFrame类,用于堆栈窗体的管理。
Public Slots:
void setCurrentIndex( int index ) index参数的索引位置的部件,是可见的。(index默认为-1,表示堆栈为空)
void setCurrentWidget( QWidget * widget ) widget参数指定的部件,是可见的。
实现效果:
maindlg.h
- #ifndef MAINDLG_H
- #define MAINDLG_H
- #include <QtGui>
- class MainDlg : public QDialog
- {
- Q_OBJECT
- public:
- MainDlg(QWidget *parent = 0, Qt::WFlags flags = 0);
- ~MainDlg();
- private:
- QLabel *lab1;
- QLabel *lab2;
- QLabel *lab3;
- QListWidget *m_list;
- QStackedWidget *stack;
- };
- #endif // MAINDLG_H
maindlg.cpp
- #include "maindlg.h"
- MainDlg::MainDlg(QWidget *parent, Qt::WFlags flags)
- : QDialog(parent, flags)
- {
- setWindowTitle(tr("Stacked Widgets example"));
- //左部的列表框:
- m_list = new QListWidget;
- m_list->insertItem(0,tr("Window 1"));
- m_list->insertItem(1,tr("Window 2"));
- m_list->insertItem(2,tr("Window 3"));
- //右部的堆栈窗:
- stack = new QStackedWidget(this);
- lab1 = new QLabel(tr("This is window 1"));
- stack->addWidget(lab1);
- lab2 = new QLabel(tr("This is window 2"));
- stack->addWidget(lab2);
- lab3 = new QLabel(tr("This is window 3"));
- stack->addWidget(lab3);
- //布局;
- QHBoxLayout *mainLayout = new QHBoxLayout(this);
- mainLayout->addWidget(m_list);
- mainLayout->addWidget(stack,0,Qt::AlignHCenter);
- mainLayout->setMargin(5);
- mainLayout->setSpacing(5);
- mainLayout->setStretchFactor(m_list,1);
- mainLayout->setStretchFactor(stack,3);
- connect(m_list,SIGNAL(currentRowChanged(int)),stack,SLOT(setCurrentIndex(int)));
- }
- MainDlg::~MainDlg()
- {
- }
Qt之布局管理——堆栈窗体相关推荐
- QT 常用布局管理器
Qt布局管理详解 详解 QT 布局管理界面 图文并茂 QT主要布局管理器分类 QHBoxLayout(水平布局) 把子窗口从左到右排列在一个水平行上. QWidget *window = new QW ...
- 第3章 Qt 5布局管理
一.分割窗口QSplitter类 [例](简单)(CH301)一个十分简单的分割窗口功能,整个窗口由三个子窗口组成,各个子窗口之间的大小可随意拖曳改变,效果如图3.1所示. 本实例采用编写代码的方式实 ...
- 【转】17.Qt界面布局管理详解
在上一节,通过一个简单的应用程序,分析了 Qt 创建的 GUI 应用程序中各个文件的作用,剖析了可视化设计的UI文件是如何被转换为 C++ 的类定义,并自动创建界面的.这些是使用 Qt Creator ...
- Qt 使用布局管理器失效或者异常
1.使用布局管理器失效 继承与mainwindow或者再mainwindow的窗口,使用布局管理器将不起作用. mainwindow窗口有自己的布局管理方式,mainwindow中有个中心部件. 如果 ...
- QT:布局管理器消息盒子对话框
让组件在水平和垂直方向对齐 有三种常用布局管理器: 水平,QHBoxLayout 垂直,QVBoxLayout 网格,QGridLayout(使布局好的界面嵌套到主窗口) 1.让组件大小固定 修改属性 ...
- C++ Qt 05:Qt布局管理器 - 荒 木 - 博客园
C++ Qt 05:Qt布局管理器 - 荒 木 - 博客园 下面我们以一个例子来初步了解Qt的组件定位技术,比如我们想做一个登录窗口,像下图这样,应该怎么做呢? 这还不简单嘛,在窗体上拖两个QLabe ...
- Python Qt GUI设计:窗口布局管理方法【强化】(基础篇—6)
目录 1. 水平布局类(QHBoxLayout) 2.垂直布局类(QVBoxLayout) 3.网格布局类(QGridLayout) 3.1.单一的网络布局 3.2.跨越行.列的网络布局 4.表单布局 ...
- Qt窗口部件与布局之二:布局管理
第3章讲述了一些窗口部件,当时往界面上拖放部件时都是随意放置的,这对于学习部件的使用没有太大的影响,但是,对于一个完善的软件,布局管理却是必不可少的. 无论是想要界面中部件有一个很整齐的排列,还是想要 ...
- 第六章 Qt布局管理器Layout
第六章 Qt布局管理器Layout 大家有没有发现一个现象,我们放置一个组件,给组件最原始的定位是给出这个控件的坐标和宽高值,这样Qt就知道这个组件的位置.当用户改变窗口的大小,组件还静静地呆在原来的 ...
最新文章
- floor--朝负无穷大方向取整
- Android 动画之ScaleAnimation应用详解
- SQL Server 2008使用扩展事件进行高级故障排除
- [bash] 打包某目录(可以是绝对路径)下的指定扩展名的文件
- 第五十期:工作强度超996,失业半年即出局,硅谷为何如此“嗜血”?
- 漫画:给女朋友介绍什么是 “元宇宙” ?
- VLC测试IPv4 IGMP/IPv6 MLD协议
- Applying Multicycle Exceptions in the TimeQuest Timing Analyzer--Altera Note
- 【Kubernetes】 configmaps is forbidden User system:anonymous cannot list resource configmaps
- 别人对程序员的印象都是加班?
- power接口 sata_sata硬盘不接power接口读的出来吗
- Bailian2759 神奇的口袋(2)【DP】
- Android 硬件加速
- 那些不回你微信的人都在看什么?
- ODU帧转OTU帧流程
- 马斯克要买地当「城主」/ 苹果手表引入ChatGPT/ 小鹏辟谣多名核心高管离职…今日更多新鲜事在此...
- struts2中表现层的数据展现(bean,list,iterator,format,etc)
- java计算机毕业设计水果商城源代码+数据库+系统+lw文档
- CSS——web字体与CSS字体图标
- 魔兽世界---熊猫人之谜