数据类型:
qint8 ---- char
uchar----unsigned char
qint16---short
qint32----int
quint32---unsigned int
quint64---long long int
qintptr--- qint32 /qint64
//各类Numtype的常用函数
T qAbs(const T &value) 求绝对值
bool qFuzzyCompare(double p1, double p2) // 求取最大值
bool qFuzzyCompare(float p1, float p2) //函数重载
void qsrand(uint seed) //随机数种子
int qrand() //生成随机数
//限定某个数据在某一个范围内
const T &qBound(const T &min, const T &value, const T &max)
Example:
int myValue = 10;
int minValue = 2;
int maxValue = 6;
int boundedValue = qBound(minValue, myValue, maxValue);
//返回值
// boundedValue == 6
//比较doubole类型
bool b_res = qFuzzyCompare(d_double1, d_double2);
qDebug("%lf 和%lf 的结果:%d",d_double1,d_double2,b_res);
//找到两个数中最大值
float res_max = qMax(f_float1,f_float2);
qDebug("%f 和%f 中:%f 大",f_float1,f_float2,res_max);
//随机数.qsrand() / rand()
qsrand(time(NULL));
sig_i =qrand(); //6535
//限定某个数据在某一个范围之内
int res_qb= qBound(8,sig_i,18);
QString字符串:
append(const QString &str) //字符串的连接 &是引用
compare(QLatin1String other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
at(int position) const
insert(int position, QLatin1String str)
//在debug中显示值
toStdString() const
toInt(bool *ok = Q_NULLPTR, int base = 10) const
operator=(QLatin1String str)
clear() //清空字符串arg(const QString &a, int fieldWidth = 0, QChar fillChar = QLatin1Char( ' ' )) const
eg:字符串小测试
QString a="I want ";
a+="to ";
a.append("free");
a.insert(1," really ");
qDebug("%s",a.toStdString().data());
//arg函数测试:
a = QString("age of %1 is %2").arg("danny").arg(17);
qDebug("%s",a.toStdString().data());
QDateTime日期和时间
QDateTime()---时间和日期类 QDate QTime组合
eg:
//获取系统时间
QDateTime * dateAndTime = new QDateTime(QDateTime::currentDateTime());
//得到日期时间中的日期和时间
QString d= dateAndTime->date().toString();
QString t =dateAndTime->time().toString();
qDebug("日期是:%s,时间是%s",
d.toStdString().data(),
t.toStdString().data());
//把字符串转换成时间
QDateTime strDate = QDateTime::fromString("2011-11-11 11:11:11",
"yyyy-MM-dd hh:mm:ss" );
d = strDate.date().toString();
qDebug("日期是:%s", d.toStdString().data());