
C And C++-QT
C与C++的学习交流。
Swxctx
喜欢技术、喜欢开源项目及分享。
铭心刻骨,就要一意孤行;越是憧憬,越要风雨兼程;要走多远,才算走进森林_xc。
展开
-
C++ - Map的基本使用介绍
Map在很多时候是很常用的东西,不管哪种语言,其都是离不开键值对的方式,在C++中也是一样的操作,同时还提供了一些简便的方法让我们快速的对Map进行操作,接下来先看一个Map的基本使用操作:#include <iostream>#include <map> using namespace std; int main(void){ int i; ...原创 2018-08-15 10:03:34 · 562 阅读 · 0 评论 -
C++基础实例系列
包括C++基本语法众多实例,仅供大家参考学习,如有错误之处,请多多指教。1、基础语法实例:http://blog.youkuaiyun.com/qq_28796345/article/details/512925452、数组相关实例:http://blog.youkuaiyun.com/qq_28796345/article/details/512974563、结构类型(结构体、枚举等):http:/原创 2016-12-07 01:13:50 · 507 阅读 · 0 评论 -
C++_STL实例系列
包括C++的STL算法库的基本语法以及众多实例,仅供大家参考学习,如有错误之处,请多多指教。1、基本语法及介绍:http://blog.youkuaiyun.com/qq_28796345/article/details/514405862、序列集合等:http://blog.youkuaiyun.com/qq_28796345/article/details/514947663、Stri原创 2016-12-07 01:18:14 · 553 阅读 · 0 评论 -
QT4/5与mysql的连接驱动问题
转于skyingQt安装在D:\Qt目录,Qt 5.4.1下连接MySQL数据库,发现会出现以下错误 copyQSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL QMYSQL3 QODBC 到D:\Qt\Qt5.4.转载 2016-05-12 23:21:43 · 982 阅读 · 0 评论 -
WEbView打开网页错误
QSslSocket: cannot call unresolved function SSLv23_client_methodQSslSocket: cannot call unresolved function SSL_CTX_newQSslSocket: cannot call unresolved function SSL_library_initQSslSocket: cannot原创 2016-05-13 00:32:31 · 1103 阅读 · 0 评论 -
Windows下QT软件发布
1.Qt Widgets Application可执行程序发布方式首先用 QtCreator 新建一个 Qt Widgets Application 项目,直接用默认的 QMainWindow 程序就可以了,项目名字假定是 xctx。然后以 Release 方式编译生成 exe 程序:xctx.exe(1).生成的程序运行正常之后,找到项目的生成目录,比如 项目源码路径:D:原创 2016-05-13 18:40:48 · 1098 阅读 · 0 评论 -
QT与数据库连接
QSql 模块提供了访问 SQL 数据库的接口,这些接口独立于操作系统,独立于数据库系统。Qt 中有很多支持这个接口的类,这些类型通过 Qt 的 model/view 架构将数据库与用户界面结合起来。数据库连接由 QSqlDatabase 类对象表示,Qt 通过驱动与不同的数据库 API 通讯。Qt Desktop Edition 版本中的 drivers 包括:QDB2,IBM原创 2016-05-26 16:08:34 · 1468 阅读 · 2 评论 -
QT实现回车执行(例如登陆窗口)
方法一: QShortcut *key=new QShortcut(QKeySequence(Qt::Key_Return),this);//创建一个快捷键"Key_Return"键 connect(key,SIGNAL(activated()),this,SLOT(槽函数));//连接到指定槽函数方法二:void MainWindow::keyPres原创 2016-05-27 14:21:26 · 8119 阅读 · 0 评论 -
QT读取配置文件
void WriteSettings(){ //QSettings settings("Software Inc", "Spreadsheet"); // windows在注册表中建立建 Software Inc -> Spreadsheet QSettings settings("Option.ini", QSettings::IniFormat); // 当前目录的INI文件原创 2016-06-01 13:13:37 · 1703 阅读 · 0 评论 -
QT读写.ini文件
1 ini文件介绍.ini 文件是Initialization File的缩写,即初始化文件。除了windows现在很多其他操作系统下面的应用软件也有.ini文件,用来配置应用软件以实现不同用户的要求。一般不用直接编辑这些.ini文件,应用程序的图形界面即可操作以实现相同的功能。它可以用来存放软件信息,注册表信息等。 2 ini文件格式INI文件由节、键、值组成。 节原创 2016-06-01 14:33:43 · 676 阅读 · 0 评论 -
QT程序在其他机器连接不上数据库解决办法
这是由于程序找不到数据库插件而致,可照如下解决方法:[喝小酒的网摘]http://blog.hehehehehe.cn/a/8749.htm在main函数中加入下面语句:引用QApplication::addLibraryPath(strPluginsPath");strPluginsPath是插件所在目录,比如此目录为/myapplication/plugins则将需转载 2016-06-01 18:50:15 · 3049 阅读 · 1 评论 -
Debug下正常,而Release失败的原因
关于Debug和Release之本质区别的讨论 一、Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二原创 2016-06-03 00:07:23 · 8168 阅读 · 0 评论 -
ubuntu下使用Qt 编译时cannot find -lGL错误解决
在ubuntu下使用Qt 编译时候遇上了cannot find -lGL错误使用命令:sudo apt-get install libqt4-dev / sudo apt-get install libgl1-mesa-dev / libgl1-mesa-dev / libglu1-mesa-dev(四个都行)原创 2016-06-04 14:26:48 · 650 阅读 · 0 评论 -
QT查询数据库中的数据在tableview显示
QString name=ui->namelineEdit->text();//收件人姓名 //tel=ui->tellineEdit->text();//获取电话信息 QString danhao=ui->numlineEdit->text();//获取单号信息 //QSqlQueryModel *model = new QSqlQueryMod原创 2016-06-04 21:49:06 · 20915 阅读 · 8 评论 -
QT数据库连接池的实现
mysql.h文件#ifndef MYSQL#define MYSQL#include #include #include #include #include #include#include//配置文件class ConnectionPool {public: static void release(); // 关闭所有的数据库连接 static QS原创 2016-06-04 21:50:47 · 7479 阅读 · 5 评论 -
QT常见错误
QT错误:collect2:ld returned 1 exit status1.编译成功的例子在后台执行,有时一闪而过,如果再次build ,则会提示上述错误。解决方法:打开任务管理器,找到相应的exe进程,关闭即可; 或者直接关闭QtCreator。2.没有编译成功的情况下,最常见情况是程序本身需要include的头文件被遗漏了解决方法:细心查找基类所用的转载 2016-06-04 22:06:54 · 640 阅读 · 0 评论 -
QT与数据库的远程连接
QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL", "OTHER"); db.setHostName("IP"); //远程数据库的主机IP db.setDatabaseName("swxc");//连接的数据库 db.setUserName("root"); //用户名 db.setPassword("原创 2016-06-05 01:36:52 · 10136 阅读 · 2 评论 -
关于QT连接数据库程序的发布问题
最近弄一个数据管理系统,最后遇到的问题是:执行release,然后windeployqt打包后,在本机能完美的运行,可是到了其他电脑后,就会显示连接不上数据库。那么狠显然,就是数据库的驱动问题。要解决这个问题,我们可以有如下几种方法:1.在release文件夹下新建plugins文件夹,然后将qt安装目录下的/plugins/sqldrivers拷贝至此而后,在main.cpp中加原创 2016-06-11 23:32:00 · 6297 阅读 · 4 评论 -
在Qt5的QML中使用QZXing识别二维码
前言ZXing库是一个用来识别二维码的库,QZXing是一个基于Qt的Qt wrapper library,在本文我们使用它和qml开发一个android小应用。添加QZXing项目QZXing最常用是作为一个子项目包含在我们的项目中,在我们的项目的pro文件中添加如下的一句:include(./QZXing/QZXing.pri)QZXing和我们的pro文件在同一个目录。转载 2016-06-22 14:51:12 · 1495 阅读 · 0 评论 -
QT时间日期
获取系统当前时间并设置显示格式QDateTime current_date_time =QDateTime::currentDateTime();QString current_date =current_date_time.toString("yyyy-MM-dd hh:mm:ss ddd");例:2016-06-25 18::10 周五获取当前时间时、分、秒范原创 2016-06-25 18:44:44 · 1104 阅读 · 2 评论 -
QT调用打印机的实现
在QT中,实现打印功能,我们可以通过调用QPrinter类来实现。(这里为pos58热敏打印机)如下实例:.h文件:#include #include #include #include #include namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJ原创 2016-06-25 22:23:23 · 11979 阅读 · 1 评论 -
QT-常用的操作
1.QGridLayoutet用法QGridLayout::addWidget(widget,row,column,rowSpan,columnSpan); widget为控件,row,column)为控件占据的左上角单元格位置, rowSpan是控件占据的行数,colunmSpan是控件占据的列的个数。rowSpan和colunmSpan默认值为1。 2.设置标签字体原创 2016-07-13 14:55:46 · 990 阅读 · 0 评论 -
C++的类
类拥有自己的成员变量和成员函数,它是一些相同事物的体现者。类声明的一般形式:class 类名{//定义体};类对象定义一般形式:类名 对象名例:class xc //定义一个名为xc的类{};Xc sw; //声明xc类的一个对象程序示例:#include"stdafx.h"#includeusing namespace st原创 2016-03-22 17:56:59 · 319 阅读 · 0 评论 -
C++的封装(程序的模块化)
封装:对类的封装 对函数的封装—在函数或者类的外部留下交互接口,将函数或者类的内部封装,通过从交互接口传递参数进行运算(函数执行需要的变量)例子:被封装的计算长方形面积的函数(函数封装)——int area(int width,int height){itn area;area=width*height;return area;}int SWxing_area=原创 2016-03-22 18:19:00 · 3850 阅读 · 0 评论 -
C++类的继承
在编写程序的过程中,定义好一个类后,我们很可能还会遇到其他具有相同性质的类(与之前定义好的类具有一些相同属性),那么我们有两种解决办法;1.重新定义一个类2.将之前定义好的类中派生出来很显然,第二种方法是更加简洁的,它减少了我们代码的编写量,而且使代码更有逻辑性质。在之前类中派生一个新的类即为继承。之前定义的类称为父类;之后派生出来的类我们称为子类或派生类。原创 2016-03-22 18:27:59 · 387 阅读 · 0 评论 -
多态以及类的结构(简介)
多态:在同一基类的派生下的子类接收到相同的消息时可以做出不同的响应(例:可以做出输入动作,也可以做出输出动作)类的结构:构造(体现了类的对象被创建)与析构(被销毁的动作实施地)对不同类成员变量的访问权限:公有成员(public)在其生命周期内,在任何地方都可以被访问私有成员(private)只能被该类的其他成员访问,外部函数甚至它的子类都不可以访问保护成员(protec原创 2016-03-22 18:40:16 · 434 阅读 · 0 评论 -
构造函数
构造函数就是一个类对象的出生地。创建规则:(1)构造函数的名字必须跟本类的类名一样(2)构造函数不能有任何类型的返回值(3)一个类的构造函数可以 被重载具体书写形式:(1)无参数构造模式(默认)作为类的成员函数,在类内被声明的一般形式为:类名 ();构造函数定义体一般形式如下:类名::类名{}(2)带参数的构造函数被声明形式:原创 2016-03-22 20:53:56 · 555 阅读 · 0 评论 -
C++数据类型
原始的内置类型:C++为程序员提供内置以及用户定义的数据类型丰富的类型。下表列出了下来七个基本C++数据类型:类型关键字布尔bool字符char整型int浮点float双浮点double无值void宽字符原创 2016-04-26 00:28:01 · 315 阅读 · 0 评论 -
C++变量类型
一个变量名可以由字母,数字和下划线。它必须以字母或下划线。大写和小写字母是不同的,因为C++是区分大小写的:有以下几个基本类型在C++中:类型描述bool存储值为true或falsechar通常单个字节(一个字节)。这是一个整数类型int整数是机器上最自然的存储尺寸大小float原创 2016-04-26 00:27:37 · 436 阅读 · 0 评论 -
C++类型修饰符
yiibaiC++允许char,int和double数据类型有修饰符在它们之前。修饰符来改变基本类型的意义,使其更准确地适应各种场合的需要。数据类型修饰符这里列出:signedunsignedlongshort修饰符signed, unsigned, long, 和short可应用于整数基本类型。此外,signed和unsigned可应用于字符和原创 2016-04-26 00:27:07 · 1911 阅读 · 0 评论 -
C++存储类别
C++程序存储类定义的范围(可视性)和变量和/或函数的生命周期内。这些说明之前,可以修改它们类型。有下列存储类型可以在C++程序中使用autoregisterstaticexternmutable自动(auto)存储类自动存储类是默认的存储类别在所有局部变量。{ int mount; auto int month;}上面原创 2016-04-26 00:26:54 · 946 阅读 · 0 评论 -
C++循环类型
while循环语句多次,只要给定的条件为真则执行目标语句。while语法C++ while循环的语法是:while(condition){ statement(s);}在这里,声明(S)可以是单个语句或语句块。所述条件可以是任何表达,并且是真正的任何非零值。循环迭代当条件为true。当条件为假,则程序控制进入到紧接在循环之后的行。for循环是一原创 2016-04-26 00:26:34 · 813 阅读 · 0 评论 -
C++ switch
switch语句可以让一个变量对值的列表平等进行测试。每个值被称为一个的情况(case),和该变量被开启时检查每一种情况。语法在C++中switch语句的语法如下:switch(expression){ case constant-expression : statement(s); break; //optional case const原创 2016-04-26 00:26:19 · 1075 阅读 · 0 评论 -
C++数学运算
C++数学运算:除了创建的各种函数,C++也包括可以用一些有用的函数。这些函数都是标准的C和C++库,并提供所谓的内置函数。这些功能可以被包括在程序中再使用。C++拥有一套丰富的数学运算,它可以在不同的数字来进行的。下表列出了一些有用的内置在C++中提供的数学函数。利用这些函数需要包括数学头文件 .S.N.函数及用途1double c原创 2016-04-26 00:26:05 · 2511 阅读 · 0 评论 -
C++数组
C++提供一种数据结构 - 数组,其存储相同类型的元件的固定大小的连续集合。数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合。相反,声明单个变量,如number0,数字1,...,和number99,声明一个数组变量,如数字使用numbers[0], numbers[1], ..., numbers[99]表示单个变量。在数组的特定元素由一个索引进行访问。所有数组原创 2016-04-26 13:38:19 · 355 阅读 · 0 评论 -
C++多维数组
yiibaiC++允许多维数组。这里是一个多维数组声明的一般形式:type name[size1][size2]...[sizeN];例如,以下声明创建一个三维 5 . 10 . 4 整数数组:int threedim[5][10][4];二维数组:多维数组的最简单的形式是二维数组。二维数组在本质上是一维数组的列表。声明二维整数数组大小 x,y, 表示如下:typ原创 2016-04-26 14:06:43 · 511 阅读 · 0 评论 -
数组作为函数参数
C++不允许通过整个数组作为参数传递给函数。但是,可以通过指定数组名不带索引传递一个指针数组。如果想通过一个一维数组作为函数的参数,就必须声明函数形式参数在以下三种方式声明之一产生类似的结果,因为每个告诉编译器,整数指针即将要被接收。方式-1如下为指针形式参数:void myFunction(int *param){...}方式-2如下为指定形式参数大小的数组:原创 2016-04-26 14:26:55 · 487 阅读 · 0 评论 -
C++字符串
C++提供了以下两种类型表示字符串:C风格的字符串用标准C++引入了string类类型C风格的字符串:C语言风格的字符串源自C语言中,并继续在C++中支持。字符串实际上是一个一维是由一个空字符'\0'终止字符数组。因此,一个空值终止字符串包含包括字符串后跟空字符。下面的声明和初始化创建由单词“Hello”的字符串。要在数组的末尾持有空字符,包含字符串的字符数组的原创 2016-04-26 14:57:26 · 276 阅读 · 0 评论 -
C/C++ typedef详解
第一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针虽然:转载 2016-04-27 00:06:50 · 434 阅读 · 0 评论 -
C++ struct与class区别
一、 C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。 struct能包含成员函数吗? 能! struct能继承吗? 能!! struct能实现多态吗? 能!!! 最本质的一个区别就是默认的访问控制,体现在两个方面: 1)默认转载 2016-04-27 00:05:53 · 365 阅读 · 0 评论