您的位置:首页 > 编程语言 > Qt开发

自学QT之堆栈窗口

2015-09-04 18:49 417 查看
堆栈窗口也是一类使用广泛的窗口,只不过名字叫起来似乎很高端罢了。

新建一个项目,取消界面选项。类名是stackdlg

接下来在.cpp文件中添加以下代码:

#include "stackdlg.h"

#include <QHBoxLayout>

StackDlg::StackDlg(QWidget *parent)

    : QDialog(parent)

{

    setWindowTitle("stackedwidget");

    list=new QListWidget(this);

    list->insertItem(0,"window1");

    list->insertItem(1,"window2");

    list->insertItem(2,"window3");

    label1=new QLabel("window1");

    label2=new QLabel("window2");

    label3=new QLabel("window3");

    stack=new QStackedWidget(this);

    stack->addWidget(label1);

    stack->addWidget(label2);

    stack->addWidget(label3);

    QHBoxLayout *mainlayout=new QHBoxLayout(this);

    mainlayout->setMargin(5);

    mainlayout->setSpacing(5);

    mainlayout->addWidget(list);

    mainlayout->addWidget(stack,0,Qt::AlignCenter);

    mainlayout->setStretchFactor(list,1);

    mainlayout->setStretchFactor(stack,3);

    connect(list,SIGNAL(currentRowChanged(int)),stack,SLOT(setCurrentIndex(int)));

}

StackDlg::~StackDlg()

{

}


运行后的结果:



当然,添加一些必要的头文件是必须的,就省略了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: