博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt学习笔记(8)——容器类的使用方法
阅读量:6482 次
发布时间:2019-06-23

本文共 2642 字,大约阅读时间需要 8 分钟。

hot3.png

首先我们还是建立一个Gui的应用程序,名称为ContainterDemo,下面是对应的源程序代码:

mainwindow.h

#ifndef MAINWINDOW_H#define MAINWINDOW_H#include 
#include 
namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{    Q_OBJECT    public:    explicit MainWindow(QWidget *parent = 0);    ~MainWindow();    private:    Ui::MainWindow *ui;    QTextEdit *TextEdit;};#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"#include "ui_mainwindow.h"#include 
MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::MainWindow){    ui->setupUi(this);    TextEdit = new QTextEdit(this);    QVBoxLayout *Layout = new QVBoxLayout(this);    Layout->addWidget(TextEdit);    ui->centralWidget->setLayout(Layout);    //QList使用方法    QList
List;    List<<"zhangsan"<<"lisi"<<"wangwu";    List.append("xiaoming");       //默认是插在首个元素的位置    foreach (QString var, List) {       TextEdit->append(var);    }    TextEdit->append(QString::number(List.size()));    TextEdit->append(List.at(2));    QListIterator
 i(List); //创建列表中的只读迭代器,正序遍历    while (i.hasNext()) {        TextEdit->append(i.next());    }    TextEdit->append("\n");    //QMap使用方法    QMap
Map;    Map["One"] = 1;    Map["Two"] = 2;    Map["Three"] = 3;    Map.insert("Four",4);    foreach (QString var, Map.keys()) {       TextEdit->append(var);    }    TextEdit->append(QString::number(Map.size()));    TextEdit->append(QString::number(Map["Two"]));    TextEdit->append(QString::number(Map.value("Two")));    //使用QMap中的一键多值    QMultiMap
map1,map2,map3;    map1.insert("values1",1);    map1.insert("values2",2);    map2.insert("values3",3);    map3 = map1+ map2;    foreach (QString var, map3.keys()) {        TextEdit->append(var);    }    TextEdit->append("\n");    //通用算法举例    QList
 List1;    List1<<1<<3<<2<<4<<5<<6;    QList
::iterator j =qLowerBound(List1.begin(),List1.end(),5);    List1.insert(j,5);    foreach (int var, List1) {        TextEdit->append(QString::number(var));    }    TextEdit->append("\n");    qSort(List1.begin(),List1.end());    foreach (int var, List1) {        TextEdit->append(QString::number(var));    }    TextEdit->append("\n");}MainWindow::~MainWindow(){    delete ui;}

main.cpp

#include "mainwindow.h"#include 
int main(int argc, char *argv[]){    QApplication a(argc, argv);    MainWindow w;    w.show();        return a.exec();}

以下是程序运行的效果,在这里笔者只是演示了部分容器的部分功能,所以你不要认为它的功能一般,如果你要是能熟练使用这些容器类,在后期的绘图方面,你会发现它的强大功能!

103144_vm74_1997634.png

转载于:https://my.oschina.net/hippiedom/blog/349293

你可能感兴趣的文章
虚拟机安装的UBUNTU全屏的方法:
查看>>
java虚拟机类加载器
查看>>
ASP.NET状态管理之八(会话Session)
查看>>
转载:大型网站架构演变和知识体系
查看>>
set集合
查看>>
SVN服务器的搭建和使用
查看>>
mvc中枚举的使用和绑定枚举值到DropDownListFor
查看>>
多目标跟踪的评价指标
查看>>
HTTPS(SSL)详解以及PHP调用方法
查看>>
突发小事件,USB接口问题
查看>>
Nginx负载均衡配置实例详解
查看>>
L1-009. N个数求和
查看>>
实参传递不当导致的运行时错误
查看>>
sqlserver 批量删除存储过程(转)
查看>>
自建型呼叫中心
查看>>
Inno setup中定制安装路径
查看>>
要懂得对你的老板好一点!
查看>>
visio如何让动态连接线的单箭头变成双箭头?
查看>>
poj 1273 Drainage Ditches 网络流最大流基础
查看>>
Bash: how to check if a process id (PID) exists
查看>>