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

自学QT之堆栈窗口

2015-12-10 00:00 190 查看
堆栈窗口也是一类使用广泛的窗口,只不过名字叫起来似乎很高端罢了。

新建一个项目,取消界面选项。类名是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()

{

}


运行后的结果:



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