资源简介
qt实现GPS信息读取,基于NMEA-0183 协议,含注释与完整运行软件,值得参考
代码片段和文件信息
#include “gpsGUI.h“
#include “QDebug“
#include “ui_mainwindow.h“
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
ui(new Ui::MainWindow)
{
ui->setupUi(this);
readTimer = new QTimer(this);
// connect(ui->searchButtonSIGNAL(clicked())thisSLOT(on_searchButton_clicked())); //ui上使用槽后会自动connect不用再connect,否则会链接两遍
// connect(ui->openComButtonSIGNAL(clicked())thisSLOT(on_openComButton_clicked()));
connect(readTimerSIGNAL(timeout())thisSLOT(readData()));
}
MainWindow::~MainWindow()
{
delete ui;
}
//自动搜索并设置端口号
void MainWindow::on_searchButton_clicked()
{
foreach(const QSerialPortInfo &protInformation QSerialPortInfo::availablePorts())//遍历
{
ui->comInformationTextEdit -> clear(); //下方数据栏清空
ui->comComboBox -> clear(); //串口下拉菜单栏清空
QStringList comlist; //定义一个comlist存protInformation里的portName
comlist << protInformation.portName();
ui->comComboBox->addItems(comlist); //将comlist里的内容传给ui上的comComboBox
ui->boteComboBox->setCurrentText(“9600“);
// ui->comComboBox->addItems(ProtInfomation.portName());
ui->comStatusLabel->setText(protInformation.portName().append(“可以使用“));//在comStatusLabel显示可以使用的端口名字append函数是用来追加元素到QList容器中
ui->comInformationTextEdit->append(protInformation.portName());
ui->comInformationTextEdit->append(protInformation.description());
ui->comInformationTextEdit->append(protInformation.manufacturer());
}
}
//打开串口并初始化按钮和文字
void MainWindow::on_openComButton_clicked()
{
if(ui->openComButton->text()==tr(“打开串口“)) //如果openComButton上的字符为“打开串口”
{
serialPortset = new QSerialPort;
serialPortset->setPortName(ui->comComboBox->currentText());//QSerialPort读取串口信息serialPortset,并将串口comComboBox的名称设置为当前找到的串口名
serialPortset->open(QIODevice::ReadWrite); //打开串口读写功能
serialPortset->setBaudRate(ui->boteComboBox->currentText().toInt());//将当前波特率以整形显示在boteComboBox
switch (ui->comComboBox->currentText().toInt())
{
case 8:serialPortset->setDataBits(QSerialPort::Data8);break; //如果当前comComboBox选择8,则数据解析方案setDataBits选择Data8
case 7:serialPortset->setDataBits(QSerialPort::Data7);break;
case 6:serialPortset->setDataBits(QSerialPort::Data6);break;
case 5:serialPortset->setDataBits(QSerialPort::Data5);break;
default:break;
}
switch (ui->checkComboBox->currentIndex()) //校验位选择
{
case 0:serialPortset->setParity(QSerialPort::NoParity);break;
case 1:serialPortset->setParity(QSerialPort::OddParity);break;
case 2:serialPortset->setParity(QSerialPort::EvenParity);break;
default:break;
}
switch (ui->stopComboBox->currentIndex()) //停止位选择
{
case 0:serialPortset->setStopBits(QSerialPort::OneStop);break;
case 1:serialPortset->set
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 270398 2018-04-20 14:43 QT_GPS\GPS.ico
文件 19105 2018-04-20 15:43 QT_GPS\GPS.pro.user
文件 9558 2018-05-14 10:05 QT_GPS\gpsGUI.cpp
文件 1113 2018-04-20 11:57 QT_GPS\gpsGUI.h
文件 19037 2018-04-20 16:00 QT_GPS\GPS_1.pro.user
文件 14435 2018-04-20 14:45 QT_GPS\GPS_test.pro.user
文件 1095 2018-04-20 14:45 QT_GPS\GPS_user.pro
文件 19082 2018-05-14 10:05 QT_GPS\GPS_user.pro.user
文件 179 2018-04-17 10:06 QT_GPS\main.cpp
文件 17289 2018-04-20 12:18 QT_GPS\mainwindow.ui
目录 0 2018-05-14 10:05 QT_GPS
----------- --------- ---------- ----- ----
371291 11
- 上一篇:AVL树与红黑树实现可视化界面
- 下一篇:浪潮云桌面方案白皮书
相关资源
- Qt带进度条的启动界面
- 用QT编写的五子棋游戏
- QT TCP Socket 通信
- 输入字符串自动转换二维码,并打印
- Qt自定义鼠标点击样式
- paho.mqtt.c-1.3.1
- 嵌入式毕业设计
- Qt Creator应用程序发布及修改应用程序
- MuWinWindow.rar
- QPushButton和QListView实现自定义QcomboBo
- zedboard移植opencv+qt的人脸检测
- 基于AT89C51的串口通信
- QT串口通信程序
- Qt开发的文本编辑器
- Linux下Qt开发的中国象棋
- jz2440的DHT11驱动 +QT5.6的温湿度监测系
- qt aes加密 源代码
- 多平台QT USB设备热插拔检测库
- qt面试相关
- RINEX_格式中文详解
- 坐标批量生成GPX文件,实现坐标批量
- MyGraphics.rar
- QTP10破解
- 基于QT聊天室设计+部分论文内容
- qt5QjsonDemo
- Qt写的网络版五子棋游戏源代码
- Qt写的单机版的五子棋游戏源代码
- 单片机串口通信程序.rar
- QT5.9.2+OpenGL,使用最新的QOpenGLWidget框
- 嵌入式ARM ,Linux,GPS导航
评论
共有 条评论