Qt学习之路之容器(一)
2015-04-08 12:37
295 查看
这里大致介绍下QStack。
看代码吧。
stack.h
stack.cpp
main.cpp
![](http://img.blog.csdn.net/20150408123936173?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSEtfNTc4OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
QStack 的原则是 先进后出,需要进栈的数据,用函数push()进栈,而出栈用
pop()函数。top() 功能提供对最上面的项目访问但不移除它。
QStack 继承QVector, QVector的所有函数都可以用于QStack.例如,可以用
函数 isEmpty() 判断栈中是否数据。另外,QStack 提供了三种可以很容易地实现后进先出语义的方便功能:push
()、 pop
() 和 top()。
QStack
的值类型必须是一个不可忽视的数据类型。
看代码吧。
stack.h
#ifndef STACK_H #define STACK_H #include <QWidget> #include <QTextEdit> #include <QStack> class StackWidget : public QWidget { Q_OBJECT public: explicit StackWidget(QWidget *parent = NULL); private: QTextEdit *textEdit; QStack <QString> stringStack; }; #endif
stack.cpp
#include "stack.h" #include <QHBoxLayout> StackWidget::StackWidget(QWidget *parent /*= NULL*/) : QWidget(parent) { ///--设置窗口大小 resize(300, 150); ///--textEdit控件 textEdit = new QTextEdit(); ///----元素入栈 stringStack.push_back("element 1"); stringStack.push_back("element 2\n"); stringStack.push_back("element 3\n"); ///----元素出栈 while (!stringStack.isEmpty()) { textEdit->insertPlainText(stringStack.pop()); } ///---布局控件 QHBoxLayout *hLayout = new QHBoxLayout(); hLayout->addWidget(textEdit); hLayout->setContentsMargins(0, 0, 0, 0); ///---显示布局 setLayout(hLayout); }
main.cpp
#include "stack.h" #include <QtWidgets/QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); StackWidget win; win.show(); return a.exec(); }运行结果:
QStack 的原则是 先进后出,需要进栈的数据,用函数push()进栈,而出栈用
pop()函数。top() 功能提供对最上面的项目访问但不移除它。
QStack 继承QVector, QVector的所有函数都可以用于QStack.例如,可以用
函数 isEmpty() 判断栈中是否数据。另外,QStack 提供了三种可以很容易地实现后进先出语义的方便功能:push
()、 pop
() 和 top()。
QStack
的值类型必须是一个不可忽视的数据类型。
相关文章推荐
- Qt学习之路(37): Qt容器类之关联存储容器
- QT的学习之路 7.容器
- Qt 学习之路 2(38):存储容器
- QT学习之路之容器(二)
- Qt 学习之路 2(38):存储容器
- Qt 学习之路:存储容器
- Qt 学习之路 2(38):存储容器
- Qt 学习之路 2(39):遍历容器
- Qt移植学习之路 QT4.5.3至mini2440(1)
- Qt学习之路(5):组件布局
- Qt移植学习之路 QT4.5.3至mini2440(2)
- qt 学习之路
- Qt学习之路_9(Qt中Item Widget初步探索)
- 学习之路1--QT主要的对象
- Qt学习之路_11(简易多文档编辑器)
- Qt学习之路_7(线性布局和网格布局初步探索)
- Qt学习之路_8(Qt中与文件目录相关操作)
- Qt学习之路_4(Qt UDP的初步使用)
- Qt学习之路_1(安装及首次体验)
- Qt学习之路_1(安装及首次体验)