資源簡介
基于QT編寫的GPS上位機軟件,已增加注釋,個人認為比較詳細,有界面,很適合初學者,界面功能還算比較完善,包含時間,日期,經緯度,衛星等各種內容,推薦。

代碼片段和文件信息
#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?<????????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
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-05-14?10:05??GPS\
?????文件??????270398??2018-04-20?14:43??GPS\GPS.ico
?????文件???????19105??2018-04-20?15:43??GPS\GPS.pro.user
?????文件????????9558??2018-05-14?10:05??GPS\gpsGUI.cpp
?????文件????????1113??2018-04-20?11:57??GPS\gpsGUI.h
?????文件???????19037??2018-04-20?16:00??GPS\GPS_1.pro.user
?????文件???????14435??2018-04-20?14:45??GPS\GPS_test.pro.user
?????文件????????1095??2018-04-20?14:45??GPS\GPS_user.pro
?????文件???????19082??2018-05-14?10:05??GPS\GPS_user.pro.user
?????文件?????????179??2018-04-17?10:06??GPS\main.cpp
?????文件???????17289??2018-04-20?12:18??GPS\mainwindow.ui
- 上一篇:VS配置Eigen
- 下一篇:基于單片機的dac0832階梯波的proteus仿真
評論
共有 條評論