自学QT之堆栈窗口

匿名 (未验证) 提交于 2019-12-03 00:03:02

堆栈窗口也是一类使用广泛的窗口,只不过名字叫起来似乎很高端罢了。

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

运行后的结果:

当然,添加一些必要的头文件是必须的,就省略了。

转载于:https://my.oschina.net/u/2505464/blog/542355

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!