zoukankan      html  css  js  c++  java
  • Qt之布局管理——堆栈窗体

    QStackedWidget类继承于QFrame类,用于堆栈窗体的管理。

    Public Slots:

    void setCurrentIndex( int index )            index参数的索引位置的部件,是可见的。(index默认为-1,表示堆栈为空)

    void setCurrentWidget( QWidget * widget )        widget参数指定的部件,是可见的。


    实现效果:

    image

    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()
    {
    
    }
    

  • 相关阅读:
    在cmd下执行py脚本报Traceback (most recent call last)报错解决
    git上传文件方法
    js获取元素方法和jquery语法操作元素方法
    获取config.ini文件配置的方法
    利用random随机函数实现抽奖方法
    selenium封装 运行脚本+生成测试报告+发送email
    基于KB的QA系统学习记录
    python学习记录
    manjaro + kde 使用过程中问题记录及解决方法
    linux学习记录
  • 原文地址:https://www.cnblogs.com/hanzhaoxin/p/2774356.html
Copyright © 2011-2022 走看看