当前位置: 首页 > news >正文

沈阳做网站有名公司有哪些佛山有哪些建设网站的公司

沈阳做网站有名公司有哪些,佛山有哪些建设网站的公司,湖南网络公司网站建设,做区块链好的网站代码仅供参考#xff0c;实际效果是读串口缓冲区#xff0c;但是老师水平不行#xff0c;说好像#xff08;#xff1f;#xff09;不能自己读自己#xff0c;但是由于没有条件测试#xff0c;后续没有进一步完善 main.cpp #include widget.h#include 实际效果是读串口缓冲区但是老师水平不行说好像不能自己读自己但是由于没有条件测试后续没有进一步完善 main.cpp #include widget.h#include QApplicationint 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 QMessageBox #include QDebug #include QFile #include QFileDialog #include QTimer #include QStringListWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui-setupUi(this);resize(800,600); //窗口限制setWindowTitle(Serial_Port);SendByte0;ReceByte0;serial new QSerialPort(this);ui-comboBox_2-setCurrentIndex(5); //初始化ui-comboBox_3-setCurrentIndex(3);ui-comboBox_4-setCurrentIndex(2);ui-comboBox_5-setCurrentIndex(0);ui-lineEdit-setText(1000);ui-checkBox-setCheckState(Qt::Checked);ui-checkBox_4-setCheckState(Qt::Checked);ui-pushButton_7-setEnabled(false);ui-checkBox_7-setEnabled(false);connect(serial,SIGNAL(readyRead()), //信号与槽函数this,SLOT(serialPort_readyRead()));Times0;portTime0;lineEditData1000;timer new QTimer;timer-start(1);//connect(timer,QTimer::timeout,this,Widget::TimerEvent);connect(timer,SIGNAL(timeout()),this,SLOT(TimerEvent())); //信号与槽函数 }Widget::~Widget() {delete ui; }void Widget::on_pushButton_2_clicked() {if(ui-pushButton_2-text()QString(打开串口)){//设置串口名serial-setPortName(ui-comboBox-currentText());//设置波特率serial-setBaudRate(ui-comboBox_2-currentText().toInt());//设置数据位switch(ui-comboBox_3-currentText().toInt()){case 5:serial-setDataBits(QSerialPort::Data5);break;case 6:serial-setDataBits(QSerialPort::Data6);break;case 7:serial-setDataBits(QSerialPort::Data7);break;case 8:serial-setDataBits(QSerialPort::Data8);break;default:serial-setDataBits(QSerialPort::UnknownDataBits);break;}//设置奇偶校验位switch(ui-comboBox_4-currentIndex()){case 0:serial-setParity(QSerialPort::EvenParity);break;case 1:serial-setParity(QSerialPort::MarkParity);break;case 2:serial-setParity(QSerialPort::NoParity);break;case 3:serial-setParity(QSerialPort::OddParity);break;default:serial-setParity(QSerialPort::UnknownParity);break;}//设置停止位switch (ui-comboBox_5-currentIndex()){case 0:serial-setStopBits(QSerialPort::OneStop);break;case 1:serial-setStopBits(QSerialPort::OneAndHalfStop);break;case 2:serial-setStopBits(QSerialPort::TwoStop);break;default:serial-setStopBits(QSerialPort::UnknownStopBits);break;}//设置流控制serial-setFlowControl(QSerialPort::NoFlowControl);//打开串口if(!serial-open(QIODevice::ReadWrite)){QMessageBox::about(NULL,提示,无法打开串口);return;}//下拉控件失能ui-comboBox-setEnabled(false);ui-comboBox_2-setEnabled(false);ui-comboBox_3-setEnabled(false);ui-comboBox_4-setEnabled(false);ui-comboBox_5-setEnabled(false);ui-pushButton-setEnabled(false);ui-checkBox_7-setEnabled(true);ui-pushButton_2-setText(tr(关闭串口));ui-pushButton_7-setEnabled(true);}else{//关闭串口serial-close();//下拉按键使能ui-comboBox-setEnabled(true);ui-comboBox_2-setEnabled(true);ui-comboBox_3-setEnabled(true);ui-comboBox_4-setEnabled(true);ui-comboBox_5-setEnabled(true);ui-pushButton-setEnabled(true);ui-checkBox_7-setEnabled(false);ui-pushButton_2-setText(tr(打开串口));//发送失能ui-pushButton_7-setEnabled(false);} }void Widget::on_pushButton_clicked() //扫描串口 {int i,n;ui-comboBox-clear();portStringLine.clear();foreach(const QSerialPortInfo info,QSerialPortInfo::availablePorts())portStringLine info.portName();nportStringLine.size();for(i0;in;i){serial-setPortName(portStringLine[i]);if(!serial-open(QIODevice::ReadWrite)){portStringLine[i](不可用);QVariant v(0); //禁用ui-comboBox-setItemData(1, v, Qt::UserRole - 1);}else{QVariant v(1|32); //可用ui-comboBox-setItemData(1, v, Qt::UserRole - 1);}serial-close();}ui-comboBox-addItems(portStringLine); }void Widget::serialPort_readyRead() //串口接收 {int i,length;QString lasttext;if(ui-checkBox_3-checkState()!Qt::Checked){lasttextui-textEdit-toPlainText();Receivetext serial-readAll();ReceByteReceivetext.length();ui-label_10-setText(QString::number(ReceByte));if(ui-checkBox_2-checkState()Qt::Checked){ReceivetextReceivetext.toLatin1().toHex(); //字符串转十六进制lengthReceivetext.length();for(i0;ilength/2;i){Receivetext.insert((23*i), ); //插入空格字符串}}elseReceivetextReceivetext.toLatin1();lasttextlasttext.append(Receivetext);ui-textEdit-setText(lasttext);} }void Widget::on_pushButton_7_clicked() //串口发送 {QByteArray bytearray;Sendtextui-textEdit_2-toPlainText();if(ui-checkBox_6-checkState()Qt::Checked)Sendtext \n;if(ui-checkBox_5-checkState()!Qt::Checked)bytearray Sendtext.toLatin1();elsebytearray QByteArray::fromHex(Sendtext.toUtf8()); //十六进制转字符串serial-write(bytearray);//定长发送//serial-write((const char *)param_data,16);SendByteSendtext.length();ui-label_9-setText(QString::number(SendByte));ui-textEdit_2-moveCursor(QTextCursor::End); }void Widget::TimerEvent() //定时事件1ms {int t500; //扫描串口时间Times;portTime;if(TimeslineEditData) //定时发送{if(ui-checkBox_7-checkState()Qt::Checked)Widget::on_pushButton_7_clicked();Times0;}if(portTimet) //定时扫描串口{QStringList newPortStringList;newPortStringList.clear();foreach(const QSerialPortInfo info,QSerialPortInfo::availablePorts())newPortStringList info.portName();if(newPortStringList.size() ! portStringLine.size()){portStringLine newPortStringList;ui-comboBox-clear();ui-comboBox-addItems(portStringLine);}portTime0;} }void Widget::on_pushButton_8_clicked() //清除计数 {SendByte0;ReceByte0;ui-label_9-setText(QString::number(SendByte));ui-label_10-setText(QString::number(ReceByte)); }void Widget::on_pushButton_4_clicked() //清除接收区 {ui-textEdit-clear(); }void Widget::on_pushButton_6_clicked() //清除发送区 {ui-textEdit_2-clear(); }void Widget::on_checkBox_clicked() //文本接收 {ui-checkBox-setCheckState(Qt::Checked);ui-checkBox_2-setCheckState(Qt::Unchecked);ui-checkBox_3-setCheckState(Qt::Unchecked); }void Widget::on_checkBox_2_clicked() //十六进制接收 {ui-checkBox-setCheckState(Qt::Unchecked);ui-checkBox_2-setCheckState(Qt::Checked);ui-checkBox_3-setCheckState(Qt::Unchecked); }void Widget::on_checkBox_3_clicked() //暂停接收 {ui-checkBox-setCheckState(Qt::Unchecked);ui-checkBox_2-setCheckState(Qt::Unchecked);ui-checkBox_3-setCheckState(Qt::Checked); }void Widget::on_checkBox_4_clicked() //文本发送 {ui-checkBox_4-setCheckState(Qt::Checked);ui-checkBox_5-setCheckState(Qt::Unchecked); }void Widget::on_checkBox_5_clicked() //十六进制发送 {ui-checkBox_4-setCheckState(Qt::Unchecked);ui-checkBox_5-setCheckState(Qt::Checked); }void Widget::on_pushButton_5_clicked() //打开文件 {QString fileName QFileDialog::getOpenFileName(this);QFile file(fileName); //新建QFile对象if(!file.open(QFile::ReadOnly|QFile::Text)){QMessageBox::warning(this,tr(多文档编辑器),tr(无法读取文件 %1:\n%2).arg(fileName,file.errorString()));}QTextStream in(file); //新建文本流对象// 鼠标指针变为等待状态QApplication::setOverrideCursor(Qt::WaitCursor);//读取文件的全部文本内容并添加到编辑器中ui-textEdit_2-setPlainText(in.readAll());//鼠标指针恢复为原来状态QApplication::restoreOverrideCursor();ui-textEdit-setVisible(true); }void Widget::on_pushButton_3_clicked() //保存文件 {QString fileName QFileDialog::getSaveFileName(this);QFile file(fileName);if (!file.open(QFile::WriteOnly | QFile::Text)){// %1和%2分别对应后面arg两个参数/n起换行的作用QMessageBox::warning(this, tr(多文档编辑器),tr(无法写入文件 %1/n %2).arg(fileName, file.errorString()));}QTextStream out(file);// 鼠标指针变为等待状态QApplication::setOverrideCursor(Qt::WaitCursor);out ui-textEdit-toPlainText();// 鼠标指针恢复原来的状态QApplication::restoreOverrideCursor(); }void Widget::on_lineEdit_editingFinished() //输入定时时间 {if(ui-lineEdit-text().toInt()0)lineEditDataui-lineEdit-text().toInt(); } widget.h #ifndef WIDGET_H #define WIDGET_H#include QWidget #include QtSerialPort #include QSerialPortInfoQT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget(); int Times,portTime,lineEditData; private:Ui::Widget *ui;QSerialPort *serial; //串口端口QTimer *timer; //定时器QString Sendtext,Receivetext; //发送、接收缓存区long int SendByte,ReceByte; //发送、接收字符数QStringList portStringLine; //端口链表private slots:void serialPort_readyRead(); //串口接收void TimerEvent(); //定时发送、更新串口void on_pushButton_clicked(); //扫描串口void on_pushButton_2_clicked(); //打开串口键按下void on_pushButton_7_clicked(); //串口发送void on_pushButton_8_clicked(); //清除计数void on_pushButton_4_clicked(); //清除接收区void on_pushButton_6_clicked(); //清除发送区void on_checkBox_clicked(); //文本接收void on_checkBox_2_clicked(); //十六进制接收void on_checkBox_3_clicked(); //暂停接收void on_checkBox_4_clicked(); //文本发送void on_checkBox_5_clicked(); //十六进制发送void on_pushButton_5_clicked(); //打开文件void on_pushButton_3_clicked(); //保存文件void on_lineEdit_editingFinished(); //输入定时时间 }; #endif // WIDGET_H
http://www.pierceye.com/news/829750/

相关文章:

  • 小程序定制团队seo顾问推推蛙
  • 徐州网站建设公司哪家好经典广告
  • 百度的官方网站wordpress提示插件安装
  • 网站的按钮怎么做 视频宁波网站建设用什么软件
  • 宜宾市做网站多少钱老板办公室装修效果图
  • 如何将网站挂载域名手机网站布局教程
  • 哪个网站可以做销售记录公司经营范围分类目录
  • dw网站的站点建设怎么百度做网站
  • 在家做网站设计国土局网站建设经验
  • 营销型网站报价商丘做网站推广的公司
  • 宜昌网站开发公司wordpress简洁响应试
  • 彩票型网站建设网站建设用宝塔
  • 建筑企业网站要简约大气吗零基础网站建设教学服务
  • 苏州网站开发建设方案cms系统介绍
  • 网站右边悬浮代码app开发费用报价表
  • 免费做电子相册的网站it网站建设
  • 网站建设是什么?南京文化云网站建设
  • 对比色网站设计wordpress 文件重命名
  • 企业免费网站建设模板怎么注册公司 需多少钱
  • 珠海网站建设厚瑜如何做推广网站
  • 山东省城乡建设部网站首页给了几张图让做网站
  • 吉林省建设标准化网站最新网球赛事新闻
  • eclipse tomcat 网站开发微信公众号手机怎么登录
  • 苏州市吴江区住房和城乡建设局网站网站建设需要具备什么条件
  • 用记事本做网站怎么添加表格媒体库wordpress
  • 河北智能网站建设网站建设 书
  • 个人网站模板怎么做网站开发接私活的经理
  • 律师事务所手机网站网站开发过程模型
  • 建筑培训网站系统开发包括什么
  • 出售家教网站模板广告设计公司管理