- 博客(26)
- 资源 (1)
- 收藏
- 关注
原创 Qt - 获取本机的IP地址和MAC地址
Qt提供了类QNetworkInterface用于获取IP和MAC地址,需在pro文件中加入 QT += network具体代码如下:#include "widget.h"#include "ui_widget.h"#include #includeWidget::Widget(QWidget *parent) : QWidget(parent), ui(new
2017-04-19 14:31:45 904
原创 linux C - TCP数据收发示例
1.client端(读)#include #include #include string.h>#include #include #include void error_handling(char *msg);int main(int argc, char *argv[]){ int sock_fd; struct sockaddr_in serv_add
2017-04-19 14:31:31 510
原创 Linux C - poll示例
Poll就是监控文件是否可读的一种机制,作用与select一样。应用程序的调用函数如下:int poll(struct pollfd *fds,nfds_t nfds, int timeout);Poll机制会判断fds中的文件是否可读,如果可读则会立即返回,返回的值就是可读fd的数量,如果不可读,那么就进程就会休眠timeout这么长的时间,然后再来判断是否有文件可读,如果有,返回fd的数
2017-04-19 14:31:13 477
原创 Linux C - UDP数据收发
基于UDP的通信时不可靠地,面向无连接的,发送的数据无法确切知道对方收到没有,通常用于对可靠性要求不高的通信中,使用简单,UDP没有严格区分server端和client端,唯一的区别是绑不绑定(bind)端口。1,接收程序(server)#include #include #include #include in.h>#include #include string.h>#inc
2017-04-19 14:31:07 521
原创 Qt - ini文件读写
1, ini文件在windows系统中可以存储需要持久保存的配置信息,注册表信息等;文件格式由键 值组成,键值由section分成不同的段,如下图,[GPS]为section name,gpsBaud为键,4800为值。Qt 的QSettings类可很容易实现ini文件的读写2,新建QtWidget工程3,INI写(需包含QSettings)void MainWindow::on_w
2017-04-19 14:31:04 571
原创 Qt - 使用windeployqt发布Qt生成的exe软件
windeployqt工具作用: The Windows deployment tool is designed to automate the process of creating a deployable folder containing the Qt-related dependencies (libraries, QML imports, plugins, and translat
2017-04-19 14:31:00 651
原创 JSON - 使用cJSON 解析Qt通过UDP发送的JSON数据
1,cJSON支持在C程序中创建和解析JSON数据,其提供多种方法供C程序使用,最直接的是将cJSON.c和cJSON.h加入到C工程中,源代码:https://github.com/DaveGamble/cJSON2, QJsonObject用于在Qt中创建JSON对象3,数据传输通过UDP运行 Qt代码如下:首先在pro文件中加入QT += networkh文件内容:#ifn
2017-04-19 14:30:54 1989
原创 JSON - Qt 对 JSON的处理
1.关于JSON的介绍参考www.json.orgQt提供处理JSON数据的支持。QJSonObject类用于封装JSON object;QJsonDocument类提供读写JSON文档的方法;QJsonParseError类用于在JSON解析过程中报告错误。上述三个类均是从Qt 5.0开始支持。示例:#include "mainwindow.h"#include "ui_mainwin
2017-04-19 14:30:50 592
原创 Qt - Qt调用VS生成的C静态库
1,生成dll和lib库在vs2010中新建工程,在向导中选择DLL,如下图所示:新建两个文件mydll.h和mydll.cmydll.h代码如下: 1 #ifndef MYDLL_H 2 #define MYDLL_H 3 #ifdef __cplusplus // 4 extern "C"{ 5 #endif 6 __declspec(dllexport) int
2017-04-19 14:30:41 2316
原创 将C语言文件生成静态库lib
1,创建三个文件Test.c , Test.h,main.c内容分别如下:Test.h1 #ifndef _TEST_H_2 #define _TEST_H_3 4 int get_result(int firstNum,int secondNum);5 6 #endif //test.hTest.c1 #include "Test.h"2 3 int get_res
2017-04-19 14:30:32 5855
原创 asn1c - 使用最新版asn1c将asn文件转换成C代码
1,从https://github.com/vlm/asn1c 下载最新版的asn1c的源码;2,打开Linux系统,将asn1c源码解压,找到INSTALL.md文件,根据INSTALL.md文件步骤安装即可;3,将下述内容的asn文件保存为Rectangle.asn文件(假设所在文件夹目录为../RectangleTest,./目录为asn1c安装目录asn1c-master)Rect
2017-04-19 14:30:21 5907 1
原创 Qt - 使用QFile写文件
1 #include "mainwindow.h" 2 #include "ui_mainwindow.h" 3 #include 4 #include 5 #include 6 7 MainWindow::MainWindow(QWidget *parent) : 8 QMainWindow(parent), 9 ui(new Ui::MainWindow
2017-04-19 14:30:10 820
原创 Qt - QFile类(翻译)
QFile 类提供了读取文件的接口。继承于QFileDevice. QFile 是一种IO设备,用来读写文本和二进制文件和资源。QFile可单独使用,但和QTextStream或QDataStream一起使用更方便。 文件名可以通过构造函数传入,但也可使用setFileName()函数随时传入。QFile使用'/'作为分隔符,其他分隔符(如‘\’)不支持。
2017-04-19 14:29:48 322
原创 Linux - 通用Makefile文件
通过shell指令和Makfile命令,创建通用的C/C++ makefile。需在当前文件夹创建bin,obj,lib三个子文件夹。makefile文件会自动搜索当前文件夹及其子文件夹中的C/C++文件。其中bin文件夹保存生成的可执行文件myapp,obj文件夹保存生成的中间文件*.o,lib保存需要的库文件。################################ Shoul
2017-04-19 14:29:27 429
原创 asn1c - 利用asn1c强ASN文件生成C代码
1,从http://lionet.info/asn1c/download.html 下载 asn1c-0.9.21.exe (Windows环境),安装(假设安装在F:\Program Files\asn1c);2,确定将要编译的asn文件目录(假设为F:\Program Files\asn1c\test),文件名为:DSRC_R36_Source.ASN_zhp.ASN3,切换到asn所在目
2017-04-19 14:29:21 3624 3
原创 Qt - 设置TableWidget只读
ui->infoViewTW->setEditTriggers(QAbstractItemView::NoEditTriggers);enum QAbstractItemView::EditTriggerflags QAbstractItemView::EditTriggersThis enum describes actions which will initiate item edi
2017-04-19 14:29:15 3279 2
原创 Qt - Qt设计工具添加菜单和工具栏
Qt设计工具提供了一种简单的添加菜单和工具栏的方法,可避免添加大量的代码。(1)新建Qt Widget Application工程;(2)进入设计模式,在UI界面左上方“在这里输入”即为提示添加菜单项,输入“GPS”回车,即添加完成;(3)点击已添加的“GPS”按钮,添加子菜单“GPSConnect”,在设计模式的下方Action Editor窗口,出现默认的动作,双击选定的行,可编辑动作
2017-04-19 14:29:10 1273
原创 Qt - 读取GPS数据
1.GPS型号为ublox(EVK-M8L),配有USB接口,Qt版本5.72.实现步骤:(1)实现串口通信 采用Qt5.7 内置的串口操作类QSerialPort和QSerialPortInfo,通过QSerialPortInfo提供的函数availablePorts(),可枚举出当前计算机中可用的com口。使用该类需在pro文件中添加:QT += serialport(2)筛选感兴
2017-04-19 14:29:05 5396 4
原创 matlab -xlsread 打开xls文件出错:服务器出现意外情况
错误:xlsread:服务器出现意外情况原因:非matlab问题,Excel的com加载项启用解决方法:office - Excel选项-加载项;管理-com加载项-转到-取消可用加载项的勾选。
2017-04-19 14:28:58 7739 1
原创 Qt-为应用程序添加logo
在Qt Creator中新建Qt Resource File,名字为logo.qrc1.选择Add Prefix得到/new/prefix12.然后Add Files,将文件添加进去,如CA-DCP.png3.在*.pro中添加: RESOURCES +=logo.qrc 4.在构造函数中添加: setWindowIcon(QIcon(":/new/prefix1/CA-DCP.pn
2017-04-19 14:28:52 2971
原创 Qt - 错误总结 - QObject::connect: Cannot queue arguments of type 'PVCI_CAN_OBJ' (Make sure 'PVCI_CAN_OBJ' is registe
背景:一个线程通过signal-slot发送PVCI_CAN_OBJ类型的值到主线程中,错误提示:QObject::connect: Cannot queue arguments of type 'PVCI_CAN_OBJ'(Make sure 'PVCI_CAN_OBJ' is registered using qRegisterMetaType().)原因:在线程中通过signal-s
2017-04-19 14:28:47 850
原创 Qt - 错误总结 - 在自定义类头文件中添加Q_OBJECT 编译时报错(undefined reference to ‘vtable for xxThread)
错误提示:在添加的QThread子类头文件添加Q_OBJECT时,编译程序,出现“undefined reference to ‘vtable for xxThread’”错误提示。原因:不详解决方案:清理项目,执行qmake,然后运行,错误提示消失。
2017-04-19 14:28:44 1899 1
原创 Qt - QThread(翻译帮助文档)
QThread Class 详细描述 QThread 类提供一个平台无关的方法来管理线程。 一个QThread对象管理一个程序中的控制线程。QThread在run()中开始执行任务。默认地,run()通过调用exec()开始事件循环,并且在线程中运行Qt事件循环。 你可通过使用QObject::moveToThread()将worker对象移到线程中来使用worker对象。 cla
2017-04-19 14:28:37 489
原创 Qt-导入第三方库
Qt提供了显式和隐式导入第三方库方法,本文只介绍显示导入方法。 第三方提供的库文件包括ControlCAN.h,ControlCAN.dll和ControlCAN.lib。将ControlCAN.h和ControlCAN.lib放入当前工程目录(其他任何位置均可),ControlCAN.dll文件放在debug和release文件夹中。 打开.pro文件,右键,选择“添加库”:在弹出的
2017-04-19 14:28:28 6274 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人