当前位置: 首页 > news >正文

顺德精品网站建设网络营销推广的要点

顺德精品网站建设,网络营销推广的要点,青岛网站开发招聘,南通做网站推广的公司目录 1. 基础类型 2. log 输出 3. 字符串类型 3.2 QByteArray 构造函数 数据操作 子字符串查找和判断 遍历 查看字节数 类型转换 3.3 QString 4. QVariant 4.1 标准类型 4.2 自定义类型 5. 位置和尺寸 5.1 QPoint 5.2 QLine 5.3 QSize 5.4 QRect 6. 日期和…目录 1. 基础类型 2. log 输出 3. 字符串类型 3.2 QByteArray 构造函数 数据操作 子字符串查找和判断 遍历 查看字节数 类型转换 3.3 QString 4. QVariant 4.1 标准类型 4.2 自定义类型 5. 位置和尺寸 5.1 QPoint 5.2 QLine 5.3 QSize 5.4 QRect 6. 日期和时间 6.1 QDate 6.2 QTime 6.3 QDateTime 1. 基础类型 因为Qt是一个C 框架, 因此C中所有的语法和数据类型在Qt中都是被支持的, 但是Qt中也定义了一些属于自己的数据类型, 下边给大家介绍一下这些基础的数类型。 Qt中的很多类型都是封装的cpp的而且基本上就在前面加了Q/q QT基本数据类型定义在#include QtGlobal 中QT基本数据类型有 类型名称注释备注qint8signed char有符号8位数据qint16signed short16位数据类型qint32signed short32位有符号数据类型qint64long long int 或(__int64)64位有符号数据类型Windows中定义为__int64qintptrqint32 或 qint64指针类型 根据系统类型不同而不同32位系统为qint32、64位系统为qint64qlonglonglong long int 或(__int64)Windows中定义为__int64qptrdiffqint32 或 qint64根据系统类型不同而不同32位系统为qint32、64位系统为qint64qrealdouble 或 float除非配置了-qreal float选项否则默认为doublequint8unsigned char无符号8位数据类型quint16unsigned short无符号16位数据类型quint32unsigned int无符号32位数据类型quint64unsigned long long int 或 (unsigned __int64)无符号64比特数据类型Windows中定义为unsigned __int64quintptrquint32 或 quint64根据系统类型不同而不同32位系统为quint32、64位系统为quint64qulonglongunsigned long long int 或 (unsigned __int64)Windows中定义为__int64ucharunsigned char无符号字符类型uintunsigned int无符号整型ulongunsigned long无符号长整型ushortunsigned short无符号短整型 2. log 输出 在Qt中进行log输出, 一般不使用c中的printf, 也不是使用C中的cout, Qt框架提供了专门用于日志输出的类, 头文件名为 QDebug, 使用方法如下: // 包含了QDebug头文件, 直接通过全局函数 qDebug() 就可以进行日志输出了 qDebug() Date: QDate::currentDate(); qDebug() Types: QString(String) QChar(x) QRect(0, 10, 50, 40); qDebug() Custom coordinate type: coordinate;// 和全局函数 qDebug() 类似的日志函数还有: qWarning(), qInfo(), qCritical() int number 666; float i 11.11; qWarning() Number: number Other value: i; qInfo() Number: number Other value: i; qCritical() Number: number Other value: i; 日志信息在IDE的调试窗口输出 如果想要在终端窗口中输出日志 使用上面的方法只能在项目调试过程中进行日志输出, 如果不是通过IDE进行程序调试, 而是直接执行可执行程序在这种情况下是没有日志输出窗口的, 因此也就看不到任何的日志输出。 打开项目文件*.pro找到配置项 config, 添加 console 控制台属性: CONFIG c11 console 属性信息添加完毕, 重新编译项目 日志信息就可以打印到终端窗口了 3. 字符串类型 在Qt中不仅支持C, C中的字符串类型, 而且还在框架中定义了专属的字符串类型 语言类型字符串类型Cchar*Cstd::string, char*QtQByteArray, QString 等 3.2 QByteArray 在Qt中QByteArray可以看做是c语言中 char*的升级版本。我们在使用这种类型的时候可通过这个类的构造函数申请一块动态内存用于存储我们需要处理的字符串数据。 函数基本上都是这样大差不差 构造函数 // 构造空对象, 里边没有数据 QByteArray::QByteArray(); // 将data中的size个字符进行构造, 得到一个字节数组对象 // 如果 size-1 函数内部自动计算字符串长度, 计算方式为: strlen(data) QByteArray::QByteArray(const char *data, int size -1); // 构造一个长度为size个字节, 并且每个字节值都为ch的字节数组 QByteArray::QByteArray(int size, char ch); 数据操作 // 在尾部追加数据 // 其他重载的同名函数可参考Qt帮助文档, 此处略 QByteArray QByteArray::append(const QByteArray ba); void QByteArray::push_back(const QByteArray other);// 头部添加数据 // 其他重载的同名函数可参考Qt帮助文档, 此处略 QByteArray QByteArray::prepend(const QByteArray ba); void QByteArray::push_front(const QByteArray other);// 插入数据, 将ba插入到数组第 i 个字节的位置(从0开始) // 其他重载的同名函数可参考Qt帮助文档, 此处略 QByteArray QByteArray::insert(int i, const QByteArray ba);// 删除数据 // 从大字符串中删除len个字符, 从第pos个字符的位置开始删除 QByteArray QByteArray::remove(int pos, int len); // 从字符数组的尾部删除 n 个字节 void QByteArray::chop(int n); // 从字节数组的 pos 位置将数组截断 (前边部分留下, 后边部分被删除) void QByteArray::truncate(int pos); // 将对象中的数据清空, 使其为null void QByteArray::clear();// 字符串替换 // 将字节数组中的 子字符串 before 替换为 after // 其他重载的同名函数可参考Qt帮助文档, 此处略 QByteArray QByteArray::replace(const QByteArray before, const QByteArray after); 子字符串查找和判断 // 判断字节数组中是否包含子字符串 ba, 包含返回true, 否则返回false bool QByteArray::contains(const QByteArray ba) const; bool QByteArray::contains(const char *ba) const; // 判断字节数组中是否包含子字符 ch, 包含返回true, 否则返回false bool QByteArray::contains(char ch) const;// 判断字节数组是否以字符串 ba 开始, 是返回true, 不是返回false bool QByteArray::startsWith(const QByteArray ba) const; bool QByteArray::startsWith(const char *ba) const; // 判断字节数组是否以字符 ch 开始, 是返回true, 不是返回false bool QByteArray::startsWith(char ch) const;// 判断字节数组是否以字符串 ba 结尾, 是返回true, 不是返回false bool QByteArray::endsWith(const QByteArray ba) const; bool QByteArray::endsWith(const char *ba) const; // 判断字节数组是否以字符 ch 结尾, 是返回true, 不是返回false bool QByteArray::endsWith(char ch) const; 遍历 // 使用迭代器 iterator QByteArray::begin(); iterator QByteArray::end();// 使用数组的方式进行遍历 // i的取值范围 0 i size() char QByteArray::at(int i) const; char QByteArray::operator[](int i) const; 查看字节数 // 返回字节数组对象中字符的个数 int QByteArray::length() const; int QByteArray::size() const; int QByteArray::count() const;// 返回字节数组对象中 子字符串ba 出现的次数 int QByteArray::count(const QByteArray ba) const; int QByteArray::count(const char *ba) const; // 返回字节数组对象中 字符串ch 出现的次数 int QByteArray::count(char ch) const; 类型转换 // 将QByteArray类型的字符串 转换为 char* 类型 char *QByteArray::data(); const char *QByteArray::data() const;// int, short, long, float, double - QByteArray // 其他重载的同名函数可参考Qt帮助文档, 此处略 QByteArray QByteArray::setNum(int n, int base 10); QByteArray QByteArray::setNum(short n, int base 10); QByteArray QByteArray::setNum(qlonglong n, int base 10); QByteArray QByteArray::setNum(float n, char f g, int prec 6); QByteArray QByteArray::setNum(double n, char f g, int prec 6); [static] QByteArray QByteArray::number(int n, int base 10); [static] QByteArray QByteArray::number(qlonglong n, int base 10); [static] QByteArray QByteArray::number(double n, char f g, int prec 6);// QByteArray - int, short, long, float, double int QByteArray::toInt(bool *ok Q_NULLPTR, int base 10) const; short QByteArray::toShort(bool *ok Q_NULLPTR, int base 10) const; long QByteArray::toLong(bool *ok Q_NULLPTR, int base 10) const; float QByteArray::toFloat(bool *ok Q_NULLPTR) const; double QByteArray::toDouble(bool *ok Q_NULLPTR) const;// std::string - QByteArray [static] QByteArray QByteArray::fromStdString(const std::string str); // QByteArray - std::string std::string QByteArray::toStdString() const;// 所有字符转换为大写 QByteArray QByteArray::toUpper() const; // 所有字符转换为小写 QByteArray QByteArray::toLower() const; 3.3 QString QString也是封装了字符串, 但是内部的编码为utf8, UTF-8属于Unicode字符集, 它固定使用多个字节window为2字节, linux为3字节来表示一个字符这样可以将世界上几乎所有语言的常用字符收录其中。 4. QVariant QVariant这个类很神奇或者说方便。很多时候需要几种不同的数据类型需要传递如果用结构体又不大方便容器保存的也只是一种数据类型而QVariant则可以统统搞定。 QVariant 这个类型充当着最常见的数据类型的联合。QVariant 可以保存很多Qt的数据类型包括QBrush、QColor、QCursor、QDateTime、QFont、QKeySequence、 QPalette、QPen、QPixmap、QPoint、QRect、QRegion、QSize和QString并且还有C基本类型如 int、float等。 4.1 标准类型 将标准类型转换为QVariant类型 // 这类转换需要使用QVariant类的构造函数, 由于比较多, 大家可自行查阅Qt帮助文档, 在这里简单写几个 QVariant::QVariant(int val); QVariant::QVariant(bool val); QVariant::QVariant(double val); QVariant::QVariant(const char *val); QVariant::QVariant(const QByteArray val); QVariant::QVariant(const QString val); ......// 使用设置函数也可以将支持的类型的数据设置到QVariant对象中 // 这里的 T 类型, 就是QVariant支持的类型 void QVariant::setValue(const T value); // 该函数行为和 setValue() 函数完全相同 [static] QVariant QVariant::fromValue(const T value); // 例子: #if 1 QVariant v; v.setValue(5); #else QVariant v QVariant::fromValue(5); #endifint i v.toInt(); // i is now 5 QString s v.toString(); // s is now 5 判断 QVariant中封装的实际数据类型 // 该函数的返回值是一个枚举类型, 可通过这个枚举判断出实际是什么类型的数据 Type QVariant::type() const; 返回值Type的部分枚举定义, 全部信息可以自行查阅Qt帮助文档 将QVariant对象转换为实际的数据类型 // 如果要实现该操作, 可以使用QVariant类提供的 toxxx() 方法, 全部转换可以参考Qt帮助文档 // 在此举列举几个常用函数: bool QVariant::toBool() const; QByteArray QVariant::toByteArray() const; double QVariant::toDouble(bool *ok Q_NULLPTR) const; float QVariant::toFloat(bool *ok Q_NULLPTR) const; int QVariant::toInt(bool *ok Q_NULLPTR) const; QString QVariant::toString() const; ...... 4.2 自定义类型 除了标准类型, 我们自定义的类型也可以使用QVariant类进行封装, 被QVariant存储的数据类型需要有一个默认的构造函数和一个拷贝构造函数。为了实现这个功能首先必须使用Q_DECLARE_METATYPE()宏。通常会将这个宏放在类的声明所在头文件的下面 原型为 Q_DECLARE_METATYPE(Type) 使用的具体步骤如下: 第一步: 在头文件中声明 // *.h struct MyTest {int id;QString name; }; // 自定义类型注册 Q_DECLARE_METATYPE(MyTest) 第二步: 在源文件中定义 MyTest t; t.name 张三丰; t.num 666; // 值的封装 QVariant vt QVariant::fromValue(t);// 值的读取 if(vt.canConvertMyTest()) {MyTest t vt.valueMyTest();qDebug() name: t.name , num: t.num; } 5. 位置和尺寸 5.1 QPoint QPoint类封装了我们常用用到的坐标点 (x, y), 常用的 API如下: // 构造函数 // 构造一个坐标原点, 即(0, 0) QPoint::QPoint(); // 参数为 x轴坐标, y轴坐标 QPoint::QPoint(int xpos, int ypos);// 设置x轴坐标 void QPoint::setX(int x); // 设置y轴坐标 void QPoint::setY(int y);// 得到x轴坐标 int QPoint::x() const; // 得到x轴坐标的引用 int QPoint::rx(); // 得到y轴坐标 int QPoint::y() const; // 得到y轴坐标的引用 int QPoint::ry();// 直接通过坐标对象进行算术运算: 加减乘除 QPoint QPoint::operator*(float factor); QPoint QPoint::operator*(double factor); QPoint QPoint::operator*(int factor); QPoint QPoint::operator(const QPoint point); QPoint QPoint::operator-(const QPoint point); QPoint QPoint::operator/(qreal divisor); 5.2 QLine QLine是一个直线类, 封装了两个坐标点 (两点确定一条直线) // 构造函数 // 构造一个空对象 QLine::QLine(); // 构造一条直线, 通过两个坐标点 QLine::QLine(const QPoint p1, const QPoint p2); // 从点 (x1, y1) 到 (x2, y2) QLine::QLine(int x1, int y1, int x2, int y2);// 给直线对象设置坐标点 void QLine::setPoints(const QPoint p1, const QPoint p2); // 起始点(x1, y1), 终点(x2, y2) void QLine::setLine(int x1, int y1, int x2, int y2); // 设置直线的起点坐标 void QLine::setP1(const QPoint p1); // 设置直线的终点坐标 void QLine::setP2(const QPoint p2);// 返回直线的起始点坐标 QPoint QLine::p1() const; // 返回直线的终点坐标 QPoint QLine::p2() const; // 返回值直线的中心点坐标, (p1() p2()) / 2 QPoint QLine::center() const;// 返回值直线起点的 x 坐标 int QLine::x1() const; // 返回值直线终点的 x 坐标 int QLine::x2() const; // 返回值直线起点的 y 坐标 int QLine::y1() const; // 返回值直线终点的 y 坐标 int QLine::y2() const;// 用给定的坐标点平移这条直线 void QLine::translate(const QPoint offset); void QLine::translate(int dx, int dy); // 用给定的坐标点平移这条直线, 返回平移之后的坐标点 QLine QLine::translated(const QPoint offset) const; QLine QLine::translated(int dx, int dy) const;// 直线对象进行比较 bool QLine::operator!(const QLine line) const; bool QLine::operator(const QLine line) const; 5.3 QSize 在QT中QSize类用来形容长度和宽度, 常用的API如下: // 构造函数 // 构造空对象, 对象中的宽和高都是无效的 QSize::QSize(); // 使用宽和高构造一个有效对象 QSize::QSize(int width, int height);// 设置宽度 void QSize::setWidth(int width) // 设置高度 void QSize::setHeight(int height);// 得到宽度 int QSize::width() const; // 得到宽度的引用 int QSize::rwidth(); // 得到高度 int QSize::height() const; // 得到高度的引用 int QSize::rheight();// 交换高度和宽度的值 void QSize::transpose(); // 交换高度和宽度的值, 返回交换之后的尺寸信息 QSize QSize::transposed() const;// 进行算法运算: 加减乘除 QSize QSize::operator*(qreal factor); QSize QSize::operator(const QSize size); QSize QSize::operator-(const QSize size); QSize QSize::operator/(qreal divisor);5.4 QRect 在Qt中使用 QRect类来描述一个矩形, 常用的API如下: // 构造函数 // 构造一个空对象 QRect::QRect(); // 基于左上角坐标, 和右下角坐标构造一个矩形对象 QRect::QRect(const QPoint topLeft, const QPoint bottomRight); // 基于左上角坐标, 和 宽度, 高度构造一个矩形对象 QRect::QRect(const QPoint topLeft, const QSize size); // 通过 左上角坐标(x, y), 和 矩形尺寸(width, height) 构造一个矩形对象 QRect::QRect(int x, int y, int width, int height);// 设置矩形的尺寸信息, 左上角坐标不变 void QRect::setSize(const QSize size); // 设置矩形左上角坐标为(x,y), 大小为(width, height) void QRect::setRect(int x, int y, int width, int height); // 设置矩形宽度 void QRect::setWidth(int width); // 设置矩形高度 void QRect::setHeight(int height);// 返回值矩形左上角坐标 QPoint QRect::topLeft() const; // 返回矩形右上角坐标 // 该坐标点值为: QPoint(left() width() -1, top()) QPoint QRect::topRight() const; // 返回矩形左下角坐标 // 该坐标点值为: QPoint(left(), top() height() - 1) QPoint QRect::bottomLeft() const; // 返回矩形右下角坐标 // 该坐标点值为: QPoint(left() width() -1, top() height() - 1) QPoint QRect::bottomRight() const; // 返回矩形中心点坐标 QPoint QRect::center() const;// 返回矩形上边缘y轴坐标 int QRect::top() const; int QRect::y() const; // 返回值矩形下边缘y轴坐标 int QRect::bottom() const; // 返回矩形左边缘 x轴坐标 int QRect::x() const; int QRect::left() const; // 返回矩形右边缘x轴坐标 int QRect::right() const; 6. 日期和时间 6.1 QDate QDate类可以封装日期信息也可以通过这个类得到日期相关的信息, 包括:年, 月, 日。 // 构造函数 QDate::QDate(); QDate::QDate(int y, int m, int d);// 公共成员函数 // 重新设置日期对象中的日期 bool QDate::setDate(int year, int month, int day); // 给日期对象添加 ndays 天 QDate QDate::addDays(qint64 ndays) const; // 给日期对象添加 nmonths 月 QDate QDate::addMonths(int nmonths) const; // 给日期对象添加 nyears 月 QDate QDate::addYears(int nyears) const;// 得到日期对象中的年/月/日 int QDate::year() const; int QDate::month() const; int QDate::day() const; void QDate::getDate(int *year, int *month, int *day) const;// 日期对象格式化 /*d - The day as a number without a leading zero (1 to 31)dd - The day as a number with a leading zero (01 to 31)ddd - The abbreviated localized day name (e.g. Mon to Sun). Uses the system locale to localize the name, i.e. QLocale::system().dddd - The long localized day name (e.g. Monday to Sunday). Uses the system locale to localize the name, i.e. QLocale::system().M - The month as a number without a leading zero (1 to 12)MM - The month as a number with a leading zero (01 to 12)MMM - The abbreviated localized month name (e.g. Jan to Dec). Uses the system locale to localize the name, i.e. QLocale::system().MMMM - The long localized month name (e.g. January to December). Uses the system locale to localize the name, i.e. QLocale::system().yy - The year as a two digit number (00 to 99)yyyy - The year as a four digit number. If the year is negative, a minus sign is prepended, making five characters. */ QString QDate::toString(const QString format) const;// 操作符重载 日期比较 bool QDate::operator!(const QDate d) const; bool QDate::operator(const QDate d) const; bool QDate::operator(const QDate d) const; bool QDate::operator(const QDate d) const; bool QDate::operator(const QDate d) const; bool QDate::operator(const QDate d) const;// 静态函数 - 得到本地的当前日期 6.2 QTime QTime类可以封装时间信息也可以通过这个类得到时间相关的信息, 包括:时, 分, 秒, 毫秒。 // 构造函数 QTime::QTime(); /*h 取值范围 0 ~ 23m and s 取值范围 0 ~ 59ms 取值范围 0 ~ 999 */ QTime::QTime(int h, int m, int s 0, int ms 0);// 公共成员函数 // Returns true if the set time is valid; otherwise returns false. bool QTime::setHMS(int h, int m, int s, int ms 0); QTime QTime::addSecs(int s) const; QTime QTime::addMSecs(int ms) const;// 示例代码QTime n(14, 0, 0); // n 14:00:00QTime t;t n.addSecs(70); // t 14:01:10t n.addSecs(-70); // t 13:58:50t n.addSecs(10 * 60 * 60 5); // t 00:00:05t n.addSecs(-15 * 60 * 60); // t 23:00:00// 从时间对象中取出 时/分/秒/毫秒 // Returns the hour part (0 to 23) of the time. Returns -1 if the time is invalid. int QTime::hour() const; // Returns the minute part (0 to 59) of the time. Returns -1 if the time is invalid. int QTime::minute() const; // Returns the second part (0 to 59) of the time. Returns -1 if the time is invalid. int QTime::second() const; // Returns the millisecond part (0 to 999) of the time. Returns -1 if the time is invalid. int QTime::msec() const;// 时间格式化 /*-- 时 --h The hour without a leading zero (0 to 23 or 1 to 12 if AM/PM display)hh The hour with a leading zero (00 to 23 or 01 to 12 if AM/PM display)H The hour without a leading zero (0 to 23, even with AM/PM display)HH The hour with a leading zero (00 to 23, even with AM/PM display)-- 分 --m The minute without a leading zero (0 to 59)mm The minute with a leading zero (00 to 59) 6.3 QDateTime QDateTime类可以封装日期和时间信息也可以通过这个类得到日期和时间相关的信息, 包括:年, 月, 日, 时, 分, 秒, 毫秒。其实这个类就是QDate 和 QTime 这两个类的结合体。 // 构造函数 QDateTime::QDateTime(); QDateTime::QDateTime(const QDate date, const QTime time, Qt::TimeSpec spec Qt::LocalTime);// 公共成员函数 // 设置日期 void QDateTime::setDate(const QDate date); // 设置时间 void QDateTime::setTime(const QTime time); // 给当前日期对象追加 年/月/日/秒/毫秒, 参数可以是负数 QDateTime QDateTime::addYears(int nyears) const; QDateTime QDateTime::addMonths(int nmonths) const; QDateTime QDateTime::addDays(qint64 ndays) const; QDateTime QDateTime::addSecs(qint64 s) const; QDateTime QDateTime::addMSecs(qint64 msecs) const;// 得到对象中的日期 QDate QDateTime::date() const; // 得到对象中的时间 QTime QDateTime::time() const;// 日期和时间格式, 格式字符参考QDate 和 QTime 类的 toString() 函数 QString QDateTime::toString(const QString format) const;// 操作符重载 日期时间对象的比较 bool QDateTime::operator!(const QDateTime other) const; bool QDateTime::operator(const QDateTime other) const; bool QDateTime::operator(const QDateTime other) const; bool QDateTime::operator(const QDateTime other) const; bool QDateTime::operator(const QDateTime other) const; bool QDateTime::operator(const QDateTime other) const;// 静态函数 // 得到当前时区的日期和时间(本地设置的时区对应的日期和时间) [static] QDateTime QDateTime::currentDateTime();
http://wiki.neutronadmin.com/news/82325/

相关文章:

  • ssh jsp做网站海南省生态文明村建设促进会网站
  • 山东网站建设开发维护企查查免费查询
  • 如何用vs2012做网站做标签网站是什么
  • 专做药材的网站有哪些在上海做兼职在哪个网站
  • 合肥做微网站建设wordpress子页面不显示
  • 网站建设简单wordpress进阶教程
  • 南昌免费做网站广东省公共资源交易中心地址
  • 乌克兰设计网站建设临平房产做网站的公司
  • 搭建网站的五大步骤四川成都网站优化
  • 网站商城设计wordpress清理主题
  • 宿迁企业网站设计会qt怎么做网站
  • 工业园区网站模版网络服务商怎么咨询
  • 阿里云电影网站建设教程seo查询站长工具
  • 网站建设 临沂自己做的网站怎么查
  • 网站怎么排版网站制作模板软件
  • 合适的网站建设的公司怎么找网站开发目录static
  • 上海短期网站建设培训济南网络推广网络营销
  • 网站建设办法上海企业在线
  • 便利的邯郸网站建设域名例子
  • 1t网站空间主机多少钱好的推广方式
  • 网站模板源码关键词快速排名seo怎么优化
  • 北京做网站的公司拟常用的行业管理系统
  • 建设银行企业官方网站wordpress静态页制作
  • 对营销网站建设评估及分析活动策划书
  • 和网站用户体验相关的文章jsp网站开发网上订餐系统
  • 网站托管运营怎么知道公司网站是哪家做的
  • 呼伦贝尔旅游网站建设中国建筑装饰网参数
  • 网站一个一个关键词做济南做网站 推荐行知科技
  • 手机网站开源wordpress 如何搭建
  • 百度网站收录查询地址云南做网站哪家便宜