#include <QtCore/QCoreApplication>
#include<QVector>
#include<QQueue>
#include<QStack>
#include<QMap>
#include<QString>
#include<QtAlgorithms>
#include<iostream>
#include<QString>
#include<QList>
#include<QStringList>
using namespace std;
void print(QVector<double> &v)
{
for( QVector<double>::const_iterator it= v.begin(); it != v.end(); it++ )
cout << *it << " ";
cout << "v.size() = " << v.size();
cout << endl;
}
void Jprint( QVector<double> &v)
{
QVectorIterator<double> it(v);
while( it.hasNext() )
{
double val;
val = it.next();
cout << val <<" ";
}
cout << endl;
}
void stringTest()
{
cout <<endl << endl << endl << "-------------string Test--------------------" << endl;
QString str = QString(" a%1-%2A friend is never known till ").arg(2.2).arg(3);
str += "a man ";
str.append("has need");
cout << qPrintable(str) <<endl<< endl;
cout << "qPrintable(str.toUpper()) :\n" << qPrintable(str.toUpper()) << endl<<endl;
cout << "qPrintable(str.trimmed()) :\n" << qPrintable(str.trimmed()) <<endl<< endl;
cout << "qPrintable(str.simplified()) :\n" << qPrintable(str.simplified()) <<endl<< endl;
cout << "qPrintable(str.mid(15)) :\n" <<qPrintable(str.mid(15)) << endl<<endl;
cout << "qPrintable(str.right(5)) :\n" <<qPrintable(str.right(5)) <<endl<< endl;
cout << "qPrintable(str.left(15)) :\n" <<qPrintable(str.left(15)) << endl<<endl;
cout << "qPrintable(str.replace(a,)) :\n" <<qPrintable(str.replace("a","A")) <<endl<< endl;
QString str1 = QString::number(22.0125);
cout << " str1 = QString::number(22.0125) :\n" << qPrintable(str1) <<endl<< endl;
str1.insert(2,"sunny");
cout << "str1.insert(2,\" sunny \"):\n "<< qPrintable(str1) <<endl<< endl;
cout << "str1.indexOf(\"2\"):\n" <<str1.indexOf("5") << endl<< endl;
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QVector<double> v(5);
v.fill(10.0);
print(v);
v.push_front(30.0);
v.push_back(20.0);
print(v);
//QVector 支持push_front
v.remove( 2 ,2);
v.insert(v.begin() + 1, 15.0);
print(v);
v.replace(3,0.01);
print(v);
Jprint(v);
cout << " the result of qSort(v.begin(), v.end()):" << endl;
qSort(v.begin(), v.end());
Jprint(v);
//test qLess
cout << "the result of qSort<v.begin(), v.end(), qLess<int>()) :" << endl;
qSort(v.begin(), v.end(), qLess<int>());
Jprint(v);
//test qGreater
cout << "the result of qSort<v.begin(), v.end(), qGreater<int>()) :" << endl;
qSort(v.begin(), v.end(), qGreater<int>());
Jprint(v);
cout << endl << endl;
//test qCount
int countOf10 = 0;
qCount( v.begin(), v.end(), 10, countOf10);
cout << "the result of qCount with keyvalue 10 = " << countOf10 << endl << endl;
//qDeleteAll just can delete pointer
// qDeleteAll(v.begin(), v.end());
//cout << "After qDeleteAll, v.size() = " << v.size() << " v.capacity() = " << v.capacity() << endl;
//test qFind
cout << "call qFind with parameter ( v.begin(), v.end(), 10.0):" << endl;
QVector<double>::iterator it = qFind(v.begin(), v.end(), 10.0);
if( it == v.end())
{
cout << "not find " <<endl;
}
else
{
cout << "find, keyword = " << 10.0 << endl;
}
//test qCopy, QStringList
cout << "Copy to QVector<QString> from QStringList :" << endl;
QStringList list;
list << "one" << "two" << "three" << "four" << "five" << "six" << "seven" << "eight" << "nine" << "ten";
QVector<QString> vect1(list.size());
qCopy(list.begin(), list.end(), vect1.begin());
//test foreach
foreach( QString str, vect1)
{
cout << qPrintable( str ) <<" ";
}
stringTest();
return a.exec();
}
Qt容器练习
最新推荐文章于 2025-07-07 19:30:30 发布