Qt之布局管理——堆栈窗体
2012-11-17 09:08
639 查看
QStackedWidget类继承于QFrame类,用于堆栈窗体的管理。
void setCurrentWidget( QWidget * widget ) widget参数指定的部件,是可见的。
实现效果:
maindlg.h
maindlg.cpp
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布局管理-堆栈窗体QStackedWidget类
- Qt5布局管理内 控件设置最小尺寸
- Qt的布局管理
- Qt之布局管理——(1)基本布局管理
- Qt布局管理: 堆栈窗体QStackedWidget类(纯代码实现)
- Qt学习笔记(三)布局管理
- Qt布局管理: 分割窗口QSplitter类讲解(纯代码实现分割窗口)
- Qt布局管理之设置控件之间的间距
- Qt5开发学习之布局管理(三)
- Qt 第6章 布局管理(2) 分组布局 学习笔记
- C++ GUI QT 第4版 第六章 布局管理 (2)
- 详解 QT 布局管理界面 图文并茂
- Qt之布局管理——停靠窗口
- Qt4 布局管理经验总结
- QT5布局管理--停靠窗口QDock Widget
- QT 布局管理
- QT布局管理程序实现的学习
- Qt学习:布局管理的使用方法
- 详解 QT 布局管理界面 图文并茂
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform