c++QT自制串口助手

1,界面
在这里插入图片描述
2,相关文件
在这里插入图片描述
3,文件源码

widget.h
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include   <QSerialPort>
#include<QString>
namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    QSerialPort *serialPort;//定义初始化串口量
    ~Widget();

private slots:
    void on_OpenBt_clicked();//打开串口槽函数

    void on_CloseBt_clicked();//关闭串口槽函数
    void serialPortReadyRead_SLOT();//显示窗口槽函数
    void on_SendBt_clicked();//发送按钮槽函数

    void on_ClearBt_clicked();//清空按钮槽函数

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H
main.cpp//一般在QT里面不用动它
#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec();
}
widget.cpp
#include "widget.h"
#include "ui_widget.h"
#include"QSerialPortInfo"//包含串口自动寻找电脑可用串口
#include"QMessageBox"//显示信息
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    QStringList serialNamePort;
    foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts())
    {
         serialNamePort<<info.portName();

     }
    ui->Serial->addItems(serialNamePort);
    serialPort = new QSerialPort(this);

   connect(serialPort,SIGNAL(readyRead()),this,SLOT(serialPortReadyRead_SLOT()));//关联信号准备读显示的槽函数
}

Widget::~Widget()
{
    delete ui;
}
void  Widget::serialPortReadyRead_SLOT()
{
    QString buf;
    buf = QString(serialPort->readAll());
    ui->showData->appendPlainText(buf);
}
void Widget::on_OpenBt_clicked()
{
    QSerialPort::BaudRate BaurdRateCd;//初始化串口的量
    QSerialPort::DataBits DataBit;
    QSerialPort::StopBits StopBit;
    QSerialPort::Parity   CheckBit;

    if(ui->BaurdRateCd->currentText()=="4800"){
        BaurdRateCd=QSerialPort::Baud4800;
    }else if(ui->BaurdRateCd->currentText()=="9600"){
        BaurdRateCd=QSerialPort::Baud9600;
    }else if(ui->BaurdRateCd->currentText()=="115200"){
        BaurdRateCd=QSerialPort::Baud115200;
    }

    if(ui->DataBit->currentText()=="6"){
        DataBit=QSerialPort::Data6;
    }else if(ui->DataBit->currentText()=="8"){
        DataBit=QSerialPort::Data8;
    }

    if(ui->StopBit->currentText()=="1"){
        StopBit=QSerialPort::OneStop;
    }else if(ui->StopBit->currentText()=="1.5"){
        StopBit=QSerialPort::OneAndHalfStop;
    }else if(ui->StopBit->currentText()=="2"){
        StopBit=QSerialPort::TwoStop;
    }
    if(ui->CheckBit->currentText()=="none"){
        CheckBit=QSerialPort::NoParity;
    }

    serialPort->setPortName(ui->Serial->currentText());
    serialPort->setBaudRate(BaurdRateCd);
    serialPort->setDataBits(DataBit);
    serialPort->setStopBits(StopBit);
    serialPort->setParity(CheckBit);
//显示串口是否打开成功
    if(serialPort->open(QIODevice::ReadWrite)==true)
    {
        QMessageBox::information(this,"NOTICE","SUCCESSFUL");
    }else if(serialPort->open(QIODevice::ReadWrite)==false)
    {
         QMessageBox::critical(this,"NOTICE","failure");
    }
}

void Widget::on_CloseBt_clicked()
{
    serialPort->close();

}

void Widget::on_SendBt_clicked()
{
   serialPort->write(ui->SendWin->text().toLocal8Bit().data());
}

void Widget::on_ClearBt_clicked()
{
    ui->showData->clear();
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: c qt designer是一款非常强大的界面设计工具,可以帮助开发者快速创建用户界面。串口助手界面是一个常见的应用场景,可以通过c qt designer轻松实现。 首先,在c qt designer中,我们可以使用各种控件来设计串口助手界面。比如,可以添加一个标签控件用于显示串口信息,一个下拉列表控件用于选择串口号,一个输入框用于设置波特率等参数,还可以在界面上添加一些按钮,用于打开、关闭串口,发送、接收数据等操作。 其次,在c qt designer中,可以设置各个控件的属性和信号槽。比如,可以设置标签控件的文本属性为“串口助手”,设置下拉列表控件根据当前可用串口列表进行更新,设置按钮的点击事件槽函数为打开串口、关闭串口、发送数据等操作。 最后,在c qt designer中,还可以通过布局管理器来自动调整和管理控件的位置和大小。比如,可以使用垂直布局管理器将各个控件垂直排列,使用水平布局管理器将按钮横向排列等,以使得界面看起来更加美观和整齐。 总的来说,通过c qt designer,我们可以轻松实现串口助手界面。只需要添加各种控件、设置属性和信号槽、使用布局管理器等,就可以快速创建出一个功能完善的串口助手界面。这样,开发者可以更加专注于业务逻辑的实现,提高开发效率和用户体验。 ### 回答2: c qt designer串口助手界面是使用c和qt designer工具来创建一个用于串口通信的界面。在这个界面中,我们可以实现通过串口与外部设备进行数据的读取和发送。 首先,在qt designer中,我们可以选择串口助手界面的布局和控件。可以添加标签、按钮、文本框等控件来设计一个符合需求的界面。 接下来,我们需要在c代码中与qt界面进行交互。这是通过连接信号和槽机制来实现的。我们可以将按钮的点击事件与特定的函数绑定,在按钮点击时触发特定的操作,如打开串口、发送数据等。 在c代码中,我们首先需要初始化串口。通过使用串口的api,我们可以指定波特率、数据位、停止位和校验位等参数来建立与外部设备的通信。 接下来,我们可以实现连接按钮的槽函数,当按钮被点击时,将会调用这个函数。在槽函数中,我们可以实现打开串口、关闭串口、设置串口参数等功能。 此外,我们还可以添加文本框来显示串口接收到的数据。在槽函数中,我们可以通过读取串口接收缓冲区的数据并显示在文本框中。 最后,我们还可以在界面中添加一个文本框和发送按钮,用于发送数据。在发送按钮的槽函数中,我们可以将文本框中的数据通过串口发送出去。 总的来说,c qt designer串口助手界面可以通过使用c和qt designer工具来设计和实现一个用于串口通信的界面。在界面中,我们可以实现打开串口、关闭串口、读取数据和发送数据等功能。这个界面可以方便地与外部设备进行数据的读取和发送操作。 ### 回答3: c qt designer串口助手界面是一个利用c和qt designer开发的串口通信工具的界面。它可以用于与串口设备进行通信,如发送和接收数据。该界面可以通过qt designer的图形界面设计工具进行设计和定制。 在该界面中,通常会包含一些常见的串口设置选项,如波特率、数据位、校验位、停止位等。用户可以根据实际需求选择适合的串口设置。 界面中还会包含一个文本框,用于显示串口设备收到的数据。用户可以在这个文本框中实时查看串口设备的输出信息。 此外,该界面还提供了发送数据的功能。用户可以在一个输入框中输入要发送的数据,并通过一个按钮来发送到串口设备。用户可以在输入框中输入字符、字符串或二进制数据,并选择发送方式(如单次发送或持续发送)。 在串口助手界面中,通常还会包含一些关于串口设备状态的显示,如连接状态、发送状态、接收状态等。用户可以根据这些状态信息来判断和调试串口通信是否正常。 总而言之,c qt designer串口助手界面提供了一个方便用户与串口设备进行通信的工具,通过它,用户可以方便地进行串口的设置、数据的发送和接收,并可以通过界面显示来监控和调试串口通信状态。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值