Qt制作windows环境下上位机
文章平均质量分 51
少安的砖厂
paddlepaddle的supporter
口号:Never worry about the future, as not satisfied with the past...
展开
-
开源飞控地面站 Openpilot GCS (现在的Librepilot GCS)源码分析 (1)程序结构
(1)Openpilot GCS项目是插件化编程(2)插件框架:插件化编程的核心是coreplugin,程序运行时会直接执行coreplugin中的代码.下面的其他plugin都要符合相同的形式,这些plugin中定义的gadget和widget类可以供coreplugin运行时调用.我们可以根据自己的需要创建自定义plugin,需要满足plugin类的创建格式.因为我想基于这...原创 2019-10-30 21:24:00 · 3261 阅读 · 0 评论 -
开源飞控地面站 Openpilot GCS (现在的Librepilot GCS)源码分析 (2)地图插件
(1)OpenPilot项目中有地图显示模块(2)地图显示模块的插件是:opmap插件,位置是src->plugins->opmap(3)OPMapGadget空间的settings在配置文件 OpenPilotGCS_config.xml中的: <OPMapGadget> <Google__PCT__20Sat> ...原创 2019-10-30 21:23:20 · 3561 阅读 · 0 评论 -
开源飞控地面站 Openpilot GCS (现在的Librepilot GCS)源码分析 (3)Qt插件化编程
实现目的,往Qt插件CorePlugin中加入新的类 HConnectionManager。直接在代码中加入会遇到如下问题:(1)创建了类之后,在cpp文件中加入类的构造和析构函数后,报错:"无法加入coreplugin.so" 重新编译之后仍然出现这种问题,程序无法编译通过。问题分析:coreplugin插件代码修改之后,未能重新单独执行qmake生成新的coreplugin.so...原创 2019-10-30 21:22:34 · 1700 阅读 · 1 评论 -
Qt串口处理数据丢包问题
(1)问题说明程序通过串口接收字节数组,转化为各种数据。但实际应用中发现这个接收程序丢失了很多包数据。(2)程序结构:1.将串口类的readyRead信号连接到自定义的readData函数 connect(serial, &QSerialPort::readyRead, this, &MainWindow::readData);2.readData函数:数据包格式为2位开始位,这个原创 2017-12-29 16:04:46 · 4498 阅读 · 0 评论 -
qt创建自定义标题栏
问题描述:利用QT自带的QDialog或QMainwindow创建的窗口,这些窗口的标题栏都有固定的形式,较难修改,我们希望创建自定义形式的标题栏,实现修改背景图片图标、在特定地方加上按钮等功能。实现方法:创建QWidget,在QWidget上实现自定义标题栏的样式,在其上实现鼠标拖动事件(Qt重新实现QMouseEvent实现自定义窗口可拖动);将主窗口修改为QFrameLess形式(即没有原创 2017-11-13 09:57:22 · 9184 阅读 · 1 评论 -
Qt中使用汉字字符与 “error C2001: newline in constant”问题的解决
问题描述:我的程序中希望使用下面的代码,将输入框的提示语改为“请输入您的密码”。但是程序出现错误,无法识别汉字字符。QLineEdit *passwordEdit;passwordEdit->setPlaceholderText("请输入您的密码");解决方法:使用QString::fromLocal8Bit()方法将汉字字符转码,程序就可以正常识别汉字型QString。将上面的代码修改原创 2017-11-13 22:19:01 · 6142 阅读 · 1 评论 -
利用memcpy函数实现float到QByteArray的相互转化
(1)QByteArray转化为float float curveData[14]; QByteArray inputdata memcpy(&curveData,inputdata,56);(2) float转化为QByteArray float curveData[14]; QByteArray inputdata memcpy(&inputda原创 2017-10-14 22:13:00 · 8625 阅读 · 1 评论 -
(1)Qt利用QSerialPort使用串口
1.编译环境:Qt 5.8.0 2.实现方法:使用Qt中的QSerialPort类。3.头文件:#include pro文件中加入:QT += serialport4.具体实现:初始化:在Mainwindowli 创建QSerialPort类并进行相关的信号槽连接: serial = new QSerialPort(this); //创建QSeria原创 2017-06-01 22:44:24 · 6868 阅读 · 0 评论 -
(2)Qt中串口的数据处理
2原创 2017-08-27 20:06:34 · 2978 阅读 · 0 评论 -
Qt重新实现QMouseEvent实现自定义窗口可拖动
需求描述:将QDialog或QMainWindow设置为FrameLess格式后,无法使用鼠标拖动;或者自己创建的控件不能被鼠标拖动。 我们的目的是让这个控件可以被鼠标拖动。实现方法:重写这个控件的QMouseEvent函数(包括QMousePressEvent,QMouseRealseEvent和QMouseMoveEvent)具体代码实现(需要使用QMouseEvent):.pro原创 2017-11-08 20:44:58 · 3222 阅读 · 1 评论 -
Qt利用ui制作登录界面
描述:用QT的ui编辑器制作程序的登录界面,效果如下:(1)开发环境描述:windows10系统,QT5.8.0 MSVC2015 32bit(2)实现方法:用Qt创建ui设计类,在ui设计界面中实现上面的界面。(3)具体实现1.账号输入框:包括两个部分:外部的QLabel和内部的QLineEdit.外部的QLabel:实现方法:创建外部的QLa原创 2017-11-08 20:30:37 · 10307 阅读 · 0 评论 -
使用虚拟串口在一台电脑上模拟串口通讯
(1)安装虚拟串口软件http://jingyan.baidu.com/article/eb9f7b6d6b7c8a869364e8da.html(2)如何设置虚拟串口http://jingyan.baidu.com/article/4ae03de31828973eff9e6b8e.html(3)可以虚拟两个相连的虚拟串口,模拟串口数据的发送与接收:原创 2017-06-20 10:16:49 · 12232 阅读 · 2 评论