资源简介

基于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 << 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

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           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

评论

共有 条评论