zoukankan      html  css  js  c++  java
  • 【Qt】StackedWidget

    一个简单的堆栈窗体类:

    左側列表框会出现不同的选项,右側显示所选的不同的窗口

    #include<QHBoxLayout>
    #include "stackdlg.h"
    
    StackDlg::StackDlg(QWidget *parent)
        : QDialog(parent)
    {
        setWindowTitle(tr("StackedWidget"));
        list=new QListWidget(this);
        list->insertItem(0,tr("Window1"));//在新建的QListWidget插入3个条目
        list->insertItem(1,tr("Window2"));
        list->insertItem(2,tr("Window3"));
    
        label1=new QLabel(tr("WindowTest1"));//作为堆栈窗口所需的三层窗口
        label2=new QLabel(tr("WindowTest2"));
        label3=new QLabel(tr("WindowTest3"));
    
        stack=new QStackedWidget(this);//依次插入
        stack->addWidget(label1);
        stack->addWidget(label2);
        stack->addWidget(label3);
    
        QHBoxLayout *mainLayout=new QHBoxLayout(this);//进行布局
        mainLayout->setMargin(5);//设定对话框的边距为5
        mainLayout->setSpacing(5);//设定各个控件之间的距离为5
        mainLayout->addWidget(list);
        mainLayout->addWidget(stack,0,Qt::AlignHCenter);
        mainLayout->setStretchFactor(list,1);//设定可伸缩控件
        mainLayout->setStretchFactor(stack,3);
    
        connect(list,SIGNAL(currentRowChanged(int)),stack,SLOT(setCurrentIndex(int)));
    }
    
    StackDlg::~StackDlg()
    {
    
    }


     

    结果展示:

  • 相关阅读:
    C#使用GZipStream压缩与解压字符串
    C# 参考之方法参数关键字:params、ref及out
    C#中cookie讲解
    WPF中窗口控件的跨线程调用
    vs2010 快捷键大全
    Python线程池
    Python 爬虫修正
    Python 爬虫插件
    Python发现爬虫插件有BUG。
    Python 存在BUG的线程池
  • 原文地址:https://www.cnblogs.com/lytwajue/p/7354878.html
Copyright © 2011-2022 走看看