
2. QT
文章平均质量分 59
小师兄.
语言学习开发路上的一个初学者。
展开
-
Qt之多线程
#include <QtGui/QApplication>#include <qthread.h>#include <windows.h>#include "mainwindow.h"/*创建一个线程类*/class MyThread1 : public QThread //这里创建一个线程的类, ...转载 2018-06-20 11:23:04 · 207 阅读 · 0 评论 -
Qt之qcustomplot绘图总结
1、绘图类:QCPGraph :折线图QCPCurve:用于曲线图,可以有循环QCPBars:柱形图,如果有多个QCPBars ,可以依次重叠QCPStatisticalBox(需实例化):盒子图QCPColorMap(实例化):色谱图QCPFinancial(实例化):金融图QCPAbstractItem:标示项,包含:QCPItemStraightLine:直线QCPItemLine:线段QC...原创 2018-05-24 10:39:41 · 22520 阅读 · 0 评论 -
Qt之打印print源码分析
看别人的代码,确实是一个学习的过程。相同通过大量的源码的阅读和理解,以及项目经验的堆积,我会变得更加强大!我要更加努力!!!才行!(1).h文件#ifndef __PRINT_H__#define __RINT_H__#include <windows.h>#include <string>#include <IOSTREAM>#include <tcha...原创 2018-05-23 13:48:38 · 861 阅读 · 0 评论 -
Qt之打印颜色字体设置
1、颜色设置QPalette palette = displayTextEdit->palette();const QColor& color = QColorDialog::getColor(palette.color(QPalette::Base),this);if(color.isValid()){ palette.setColor(QPalette::Base, co...原创 2018-05-22 16:24:07 · 1538 阅读 · 0 评论 -
Qt之打开文件、图片、载入文件
1、打开图片格式 QString fileName = QFileDialog::getOpenFileName( this, tr("open image file"), "./", tr("Image files(*.bmp *.jpg *.pbm *.pgm *.png *.ppm *.xbm *.xpm);;All ...原创 2018-05-22 15:59:09 · 23252 阅读 · 1 评论 -
Qt之热敏打印机设置
1、生成PDF文件void MainWindow::createPdf(){ QString fileName = QFileDialog::getSaveFileName(this, tr("导出PDF文件"), QString(), "*.pdf"); if (!fileName.isEmpty()) { // 如果文件后缀为空,则默认使用.pdf if...原创 2018-05-26 14:25:35 · 3717 阅读 · 0 评论 -
Qt之打印机总结
打印设置QPrinter类是打印设置的类。1.1 OutputFormat说明:QPrinter输出文件的格式,QPrinter::PdfFormat会输入pdf文件格式,QPrinter::PostScriptFormat输入ps文件格式.中执行print()后生成的文件类型就是根据这个来的。相关函数:OutputFormat QPrinter::outputFormat () //当前格式vo...原创 2018-05-26 10:20:30 · 8538 阅读 · 0 评论 -
Qt之打印机串口
新建一个Qt项目:文件->新建文件或项目(ctrl+n)2单机 choose 之后3全部下一步到完成4成功建立一个Qt Widgets Application5新建一个管理SerialPort的类 右击项目名字->添加新文件 弹出 如下框:6选择C++ Class,单机 choose 弹出如下框: 并填写 单机下一步 之后 单机完成7编写SPComm类:在SPComm.h...转载 2018-05-21 11:00:03 · 2055 阅读 · 0 评论 -
Qt之串口编程(添加QSerialPort模块)
Qt中添加了QSerialPort类,非常好用,可是由于各种原因,很多人还是要用Qt4,比如我,后来发现官方文档说QSerialPort支持Qt4,就研究了一下,比较笨,搞了好久才弄好。第一步:下载QSerialPort模块官方网站我经常打不开,所以上传到网盘了。http://download.qt-project.org/这是官方的,各种版本都有,大家可以自己找找。http://pan.baid...转载 2018-05-21 10:36:31 · 34999 阅读 · 7 评论 -
Qt之去除JSON数据中两边的中括号
在使用JSON的过程中难免会出现:数据形式与json数据不一致的情况,我最近遇到的就是json数据两侧多了中括号。我想到了几个办法:第一分割字符串,第二正则表达式,第三字符串替换我最后综合了一下决定使用字符串替换,将“【”“】”替换成空格“ ”; QString data = QString::fromLocal8Bit(res.c_str(), res.length()); data...原创 2018-05-19 20:53:13 · 8708 阅读 · 0 评论 -
QT 之TCP网络编程(非常值得看的一篇博客!)
首先介绍一下TCP:(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。相比而言UDP,就是开放式、无连接、不可靠的传输层通信协议。下面,我一次进行客户端和服务器端的QT实现。我的开发环境是:QT Creator 5.7。先看下效果图: 一:客户端编程QT提供了QTcpSocket类,可以直接实例化一个客...转载 2018-05-19 19:26:06 · 111141 阅读 · 57 评论 -
Qt之动态库和静态库的创建和使用
动态库(共享库)的创建在Qt Creator中新建项目,选择Library点击“Choose”进入下一步选择创建库的类型:共享库选择Kit套件选择需要的模块配置工程路径、名字等Qt Creator自动创建的文件我配置的动态库名字为:Share pro文件内容QT -= gui #在选择需要的模块时,我只选用了QtCore,没有使用QtGuiTARGET = Share #我配置的动态...转载 2018-05-24 13:03:39 · 4659 阅读 · 0 评论 -
Qt之qcustomplot绘柱图(柱图重叠问题)
//避免柱图重叠,每次绘制之前柱图清除一次 int plottableCount = ui->qcustomPlot1->plottableCount(); if (plottableCount != 0) ui->qcustomPlot1->clearPlottables(); QVector<QString> l...原创 2018-05-24 20:30:52 · 1847 阅读 · 3 评论 -
Qt之版本下载地址
第一步:下载所需软件下载Qt库。http://download.qt.io/archive/qt/第二步:软件安装安装教程:http://blog.youkuaiyun.com/liang19890820/article/details/53931813安装调试器: http://shitou7630.blog.163.com/blog/static/32699536201542385252...转载 2018-06-21 09:15:59 · 4996 阅读 · 0 评论 -
Qt之QTimer和QTime
QTimer ClassQTimer是一个计时器类 它的使用分三步,创建对象,连接signal和slot函数,start() QTimer *timer = new QTimer(this); connect(timer, SIGNAL(timeout()), this, SLOT(update())); timer->start(1000);123其中,SIGNAL(...转载 2018-06-16 21:54:30 · 9627 阅读 · 1 评论 -
Qt之延时总结
一、关于Qt实现非阻塞延时的方法:void QSleepTimeSet::Delay_MSec(unsigned int msec){ QTime _Timer = QTime::currentTime().addMSecs(msec); while( QTime::currentTime() < _Timer ) QCoreApplication::processEven...转载 2018-06-16 21:28:16 · 4807 阅读 · 0 评论 -
C++之阻塞和非阻塞区别
阻塞就是干不完不准回来, 非阻塞就是你先干,我现看看有其他事没有,完了告诉我一声我们拿最常用的send和recv两个函数来说吧... 比如你调用send函数发送一定的Byte,在系统内部send做的工作其实只是把数据传输(Copy)到TCP/IP协议栈的输出缓冲区,它执行成功并不代表数据已经成功的发送出去了,如果TCP/IP协议栈没有足够的可用缓冲区来保存你Copy过来的数据的话...这时候就...转载 2018-06-16 21:24:47 · 5415 阅读 · 0 评论 -
C++通过jsoncpp类库读、写JSON文件
JSON是一个轻量级的数据定义格式,比起XML易学易用,而扩展功能不比XML差多少,用之进行数据交换是一个很好的选择。JSON的全称为:JavaScript Object Notation ,顾名思义,JSON是用于标记javascript对象的,详情参考http://www.json.org/。本教程选择第三方库jsoncpp来解析json, jsoncpp是比较出名的c++解析库,在json官...转载 2018-06-15 09:55:18 · 725 阅读 · 0 评论 -
Qt之多线程基础介绍
使用线程基本上有种使用线程的场合:通过利用处理器的多个核使处理速度更快。为保持GUI线程或其他高实时性线程的响应,将耗时的操作或阻塞的调用移到其他线程。何时使用其他技术替代线程开发人员使用线程时需要非常小心。启动线程是很容易的,但确保所有共享数据保持一致很难。遇到问题往往很难解决,这是由于在一段时间内它可能只出现一次或只在特定的硬件配置下出现。在创建线程来解决某些问题之前,应该考虑一些替代的技术 ...转载 2018-06-21 09:59:40 · 563 阅读 · 0 评论 -
Qt在Windows下的三种编程环境搭建
从QT官网可以得知其支持的平台、编译器和调试器的信息如图所示:http://qt-project.org/doc/qtcreator-3.0/creator-debugger-engines.html(Home | Docs | Qt Creator 3.0 | Debuggingand Analyzing | Setting Up Debugger) 本篇主要讲解QT在Windows操作系统下...转载 2018-06-21 09:50:57 · 437 阅读 · 0 评论 -
Qt在Mac OS X下的编程环境搭建
在Mac OS X下使用Qt开发,需要配置Qt库和编译器。编译器只能使用苹果公司自主研发的Clang。1、分别下载并安装XCode和Command Line Tools(必须安装),安装完毕后,Clang就有了。https://developer.apple.com/downloads/2、下载Qt并默认安装http://download.qt.io/official_releases/qtcre...转载 2018-06-21 09:50:01 · 23133 阅读 · 1 评论 -
QT之qt4.8.6在windows下的静态编译
参考链接:链接1 - 理解静态编译的过程:win7 32位下 QT4.8.6从安装配置到静态编译http://www.tuicool.com/articles/iu6Zfu3 链接2 - 静态编译的过程参考(1):WIN7下Qt4.8.6静态编译http://blog.youkuaiyun.com/zy812248258/article/details/52593247 链接3 - 静态编译的过程参考(2):...转载 2018-06-21 09:46:38 · 1256 阅读 · 0 评论 -
QT4.8.6静态编译
需要重新编译qmakeqmake,使之编译程序时为静态(staticstatic)而非共享(shareshare)修改安装目录/mkspecs文件夹下的win32-g++/qmake.conf,分别找到并修改QMAKE_LFLAGS = -static和QMAKE_LFLAGS_DLL = -static,以指定编译出的qmakeqmake的编译模式打开Qt 4.8.6 Command Promp...转载 2018-06-21 09:44:42 · 706 阅读 · 0 评论 -
QT之qt4.8.6安装(详细教程)
简介Qt是跨平台的图形开发库,目前由Digia全资子公司 Qt Company 独立运营,官方网址: http://www.qt.io/ 也可以访问Qt项目域名:http://qt-project.org/ Qt本身支持众多操作系统。从通用操作系统Linux、Windows,到手机系统Android、iOS、WinPhone,嵌入式系统支持QNX、VxWorks,应用非常广泛。 基于Qt的软件非常...转载 2018-06-21 09:23:33 · 50299 阅读 · 9 评论 -
Qt之JsonSockketTcp套接字 for qt(json数据流传输层)
本文转自 https://blog.youkuaiyun.com/RuShrooM/article/details/25808297主要处理tcp的json数据流,解析和除错json数据流,继承与 qtcpsocket层,方便扩展数据流格式:[cpp] view plain copy#ifndef CONFIGTCPSOCKET_H #define CONFIGTCPSOCKET_H #include...转载 2018-05-18 14:45:10 · 4590 阅读 · 1 评论 -
Qt之解析Json出现空指针问题
空字符的问题[html] view plain copy/** * 去除空字符 * @param str * @return */ public static String convert(String str){ byte[] bytes = new byte[str.getBytes().length]; ...转载 2018-05-18 14:37:54 · 824 阅读 · 0 评论 -
Qt之船舱控制系统(三)之qcustomplot绘制柱状图、设置颜色....
既然甲方提了要求,我这边只能尽力修改尽量做到尽善尽美,在实现功能的基础上也要有美感!1、首先就是绘制在柱状图:QCPBars* bars=new QCPBars(this->ui->qcustomPlot1->xAxis,this->ui->qcustomPlot1->yAxis);bars->setAntialiased(false); 2、...原创 2018-04-13 11:37:40 · 4625 阅读 · 0 评论 -
Qt之布局管理器使用
T 布局管理界面 图文并茂是本文介绍的内容,先来看内容。今天来实现一个温度转换器的界面。如下图:水平布局管理器可以把它所管理的部件以水平的顺序依次排开,例如上图中中间的“Centigrade”和“Fahrenheit”两段文字,就是水平排列的,这个时候就可以用水平布局管理器来实现。垂直管理器类似,它可以把它所管理的部件以垂直的顺序依次排开,例如上图中右侧的液晶数字和地下的表盘,就形成了垂直排列,这...转载 2018-04-13 10:33:10 · 10344 阅读 · 2 评论 -
Qt将Sqlite中的表数据导出为CSV格式表格数据
开发环境ubuntu16.04+Qt5.6.1 WIN7+Qt5.6.1两个环境都测试过1.问题写一个小软件的时候,带有导出excel功能,但是要在linux下运行,最后了解到csv格式,实现起来方便多了,只是用excel打开中文有乱码的现象有一个简单的解决办法。2.代码写了一个小方法调用如下: ReadDataFromSqlWriteToCSV("student","student.c...转载 2018-04-17 22:08:31 · 2499 阅读 · 0 评论 -
QT之在TabView中显示查询的数据库数据
QSqlQueryModel *model = new QSqlQueryModel;model->setQuery("select id,time,co,h2s,o2,gas,ele from hdata");model->setHeaderData(0, Qt::Horizontal, tr("id"));model->setHeaderData(1, Qt::Horizon...原创 2018-04-17 21:56:16 · 4800 阅读 · 0 评论 -
QSQLITE数据插入总结(Excel数据导入数据库)
对数据库插入做一个简单的总结:代码形式插入,分为两种,一种命令行形式,另一种就是C++代码(这里均在Qt中举例)1、命令行形式: 1>建立数据表: sqlite> CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE ...原创 2018-04-17 21:36:22 · 1529 阅读 · 0 评论 -
Qt之自带的数据库QSQLITE(很具体的一个例子)
database.h#ifndef DATABASE_H#define DATABASE_H#include <QTextCodec>#include <QSqlDatabase>#include <QSqlQuery>#include <QTime>#include <QSqlError>#include <QtDe...转载 2018-04-17 21:12:18 · 10708 阅读 · 2 评论 -
全方位认识SQLite(二)
示例代码示例代码一:#include #include "sqlite3.h"using namespace std; int main( ){ sqlite3 *db=NULL; //定义SQLite的连接 const char *zErrMsg = 0;//错误信息 int rc; rc = sqlite3_open("E:/Program code/SQLit...转载 2018-04-17 08:47:29 · 222 阅读 · 0 评论 -
全方位认识SQLite(一)
SQLite简介SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、Postg...转载 2018-04-17 08:44:56 · 260 阅读 · 0 评论 -
QT之项目所用数据库命令整理
整理一下,接下来项目中所用数据库的一些基本知识,也当是是一个复习的过程,还会有后续。原创 2018-04-16 21:26:44 · 292 阅读 · 0 评论 -
Qt之qcustomplot背景色改变
当出节点出现异常时,整个坐标背景变成黄色,在打印区域打印数据字体同为黄色!//设置坐标颜色/坐标名称颜色 ui->qCustomPlot->yAxis->setLabelColor(TextColor); ui->qCustomPlot->xAxis->setTickLabelColor(TextColor); ui->qCustomPl...转载 2018-04-13 14:32:26 · 11089 阅读 · 7 评论 -
Qt下给QGraphicsScene绘制网格背景方法
直接上代码: QPolygonF myPolygon1; myPolygon1 << QPointF(0,10) << QPointF(20,10); QPolygonF myPolygon2; myPolygon2 << QPointF(10,0) << QPointF(10,20); QPixma...转载 2016-12-06 10:34:15 · 8886 阅读 · 2 评论 -
Qt之数据库查询问题总结(查询变量time数据)
数据库使用:QSQLITE数据库建立:1)创建数据库表数据类型 2)存入测试数据(.CSV文件数据导入)3)tabview显示表数据4)根据条件查询数据遇见问题总结:主要出现在数据库查询部分,但是归根结底还是数据库time类型的问题(varchar)刚开始数据库表为:可以看到time数据类型varchar时,数据存入格式为2018/4/28即为yyyy/m/dd、yyyy/m/dd、yyyy/mm...原创 2018-04-23 11:36:01 · 10538 阅读 · 4 评论 -
Qt之QString和string之间的转换
花了几天时间将MYSQL复习完成,将C++一些面试遇到的问题整理了一下,现在又要开始重操旧业了,做项目。今天遇到的问题,将string转换为QString,顺便整理一下。1、string转换为QString类型 string res = sw.write(vll); QString data = QString::fromUtf8(res.c_str(), res.length());2、QStr...原创 2018-05-17 19:13:40 · 4045 阅读 · 0 评论 -
Qt之QString字符串分割、截取
在做项目中不可避免的会使用到一串字符串中的一段字符,因此常常需要截取字符串。 有两种方式可以解决这个问题: 方法一:QString分割字符串: QString date=dateEdit.toString("yyyy/MM/dd"); QStringList list = date.split("/");//QString字符串分割函数 方法二:正则表达式...原创 2018-04-21 22:00:23 · 94208 阅读 · 0 评论