qt中QQueue的用法
以下是一些总结,关于QQueue的容器:头文件:#include<QQueue>1、在头文件中:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QQueue>namespace Ui {class MainWindow;}typede...
·
以下是一些总结,关于QQueue的容器:
头文件:#include<QQueue>
1、在头文件中:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QQueue>
namespace Ui {
class MainWindow;
}
typedef struct data
{
unsigned int a;
double b;
double c;
}DATA;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
QQueue<DATA> DataBuffer;
private slots:
void on_pushButton_clicked();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
在.cpp文件中:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
//结构体的用法
DATA data;
data.a = 1;
data.b = 3.12;
data.c = 4.18;
DataBuffer.enqueue(data);//将结构体里面的数进行插入进去,也就是入队
//以下是一种遍历的方式
for each (auto data in DataBuffer)
{
qDebug()<< data.a;
qDebug()<< data.b;
qDebug()<< data.c;
}
//普通变量的用法
QQueue<int> Q;
for(int i = 0 ; i < 5; i++)
{
Q.enqueue(i);//入队的方法
}
qDebug()<<Q;//结果为(0, 1, 2, 3, 4)
Q.dequeue();
qDebug()<<Q;//结果为(1, 2, 3, 4),这样得到的结果就是删除了第一个
}
在main函数中:
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
基本用法如上
更多推荐
已为社区贡献1条内容
所有评论(0)