首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Qt 串口上位机开发《Rice 上位机 学习开发》

前几天分享了一个使用C#开发的串口上位机,那么今天教你如何100行QT代码实现一个串口上位机。如果你学习过C++,那么使用QT开发软件,就不是什么大问题了,QT很多时候使用在linux上。...所以使用QT开发还是挺不过的选择,QT兼容Linux和Windows,跨平台语言。话不多说,接下来说说他是怎么实现的。首先直接上软件效果图(温馨提示:代码没写完,哪有脸睡觉)。...QT 的UI也是很容易设计的,通过拖拉控件即可。这是QT的控件栏,要什么控件就拖拉什么控件。 第二步,实现功能。...这个串口软件我使用别人的API来实现,需要三个源文件(win_qextserialport.cpp/qextserialport.cpp/qextserialbase.cpp)和三个头文件(win_qextserialport.h...然后将其数据设置到UI的receive控件上 //读串口 void MainWindow::readMyCom() { QByteArray temp = myCom->readAll(); ui->textBrowser

1.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    来,一起做个测试小工具

    小编经常折腾各种语言,对比C/C++、Java、Python这四个使用率最高的语言,在做界面上,Python可以说是最简单的了。 所以本文也就用Python语言生成脚本,然后封装成一个类。...这里我们需要安装两个插件Qt Designer和PyUIC。...Qt Designer可实现拖拽控件生成界面,避免了复杂的布局管理,而PyUIC可将Qt Designer拖拽生成的.ui文件转化为.py文件。...用Qt Designer,通过简单的控件拖拽就可以生成一个工具的小界面了 ? No.3 事件绑定 事件绑定的目的是将界面上的控件和执行层面的方法结合起来。这样就能做到点击→触发→输出→展示的过程了。...在没有这1点的想法时,可视化界面就可以算是这额外的1点,多1点开发会方便更多人使用;多考虑至少1点,也督促自己每次都能在开发时学到新的东西。 PS.

    1K20

    圆曾经的小车梦,造一台智能小车(四)之QT上位机控制小车

    QT控制界面大致如下,非常简单: 包含前进、后退、左转、右转4个按钮,外加一个显示 ? 如何来实现呢?很简单。 一、分别拖四个QPushButton按钮过去 改成自己想要表达的方式 ?...这里我们分别选择pressed()和released()这两个信号,意思是按下和释放,然后点击OK,程序就会自动生成对应的槽函数,依次类推,我们为前进、后退、左转、右转这四个按钮都这么来设置。...>textBrowser->setText("左转"); client->write(data.toLatin1()); //qt5去除了.toAscii() } void MainWindow...网络,由于我的电脑是无线网络,所以直接连接无线就好了,然后确保服务器和端口号是否正确,接下来就可以玩耍啦!...QT是支持跨平台的,后续,我们将把这个QT程序移植到ARM开发平台上去,用ARM开发板上的wifi连接小车,然后用它来进行控制小车,这样就可以脱离PC程序控制了,敬请期待!

    2.9K11

    Qt学习之路_6(Qt局域网聊天软件)

    http://www.cnblogs.com/tornadomeet/archive/2012/07/04/2576355.html   在上2次文章Qt学习之路_5(Qt TCP的初步使用) Qt学习之路..._4(Qt UDP的初步使用) 中已经初步介绍了群聊功能和文件传输功能,这一节中主要在这个基础上加入一个私聊功能。   ...但是当窗口关闭时我们觉得其内存释放应该在Qt内部自己实现。      下面来讲一下私聊发送端和接收端具体实现过程。 发送端流程图如下: ? 接收端的流程图如下: ?   ...实验总结(下面几点只是暂时的理解): 使用类时,如果直接用构造函数定义该类的对象,则定义该类的函数接收时,该对象的生命也就结束了,所以如果要在其他函数中定义一个类的对象时并长久使用,可以使用new定义一个对象的初始指针...//this->textBrowser->setTextColor(Qt::blue); //this->textBrowser->setCurrentFont(

    3.3K20

    Qt学习之路_6(Qt局域网聊天软件)

    http://www.cnblogs.com/tornadomeet/archive/2012/07/04/2576355.html   在上2次文章Qt学习之路_5(Qt TCP的初步使用) Qt学习之路..._4(Qt UDP的初步使用) 中已经初步介绍了群聊功能和文件传输功能,这一节中主要在这个基础上加入一个私聊功能。   ...但是当窗口关闭时我们觉得其内存释放应该在Qt内部自己实现。      下面来讲一下私聊发送端和接收端具体实现过程。 发送端流程图如下: ? 接收端的流程图如下: ?   ...实验总结(下面几点只是暂时的理解): 使用类时,如果直接用构造函数定义该类的对象,则定义该类的函数接收时,该对象的生命也就结束了,所以如果要在其他函数中定义一个类的对象时并长久使用,可以使用new定义一个对象的初始指针...//this->textBrowser->setTextColor(Qt::blue); //this->textBrowser->setCurrentFont(

    2.9K10

    基于PySide6的GUI程序开发全流程(看完就会)

    PyGTK 优点: 使用GTK+库,提供了丰富的GUI组件和功能,尤其在Linux和Unix系统上广泛使用。 跨平台支持,并且在多个操作系统上都有良好的兼容性。 提供了良好的文档和社区支持。...,PyQt和PySide具有相似的API和功能,学习难度也都差不多;**另外PySide使用 LGPL 许可证,可以免费商业使用。...Qt Designer 提供了一个直观的图形用户界面,可以在其中对界面进行布局,并设置小部件的外观和行为属性。可以通过编辑器轻松调整字体、颜色、对齐方式等属性,以及连接信号和槽来处理用户交互。...使用 Qt Designer,无需手动编写复杂的界面代码,而是可以通过直观的操作来创建界面。...这里记录简单的使用,不过多讲解,后续可能会专门出一篇关于Qt Designer的博客来记录更多使用技巧和方法; 3.2 安装 安装方式有很多,可以直接下载安装包安装,也可以使用其他办法安装; 如果安装了

    13K83

    PyQT模块、类、控件介绍

    QtBluetooth模块 包含了处理蓝牙活动的类库,其功能包括:扫描设备、连接、交互等行为。...QtOpenGL模块 使用OpenGL库来渲染3D和2D图形。该模块使得Qt GUI库和OpenGL库无缝集成。...QtXmlPatterns模块 所包含的类实现了对XML和自定义数据模型的Xquery与XPath的支持。 QtDesigner模块 所包含的类允许使用PyQt扩展Qt Designer。...Qt模块 将上面模块中的类综合到一个单一的模块中。这样做的好处是你不用担心哪个模块包含了哪个特定的类;坏处是加载到整个Qt框架中,从而增加了应用程序的内存占用。...TabWidget 选项卡 StackedWidget 堆栈窗口 Frame 帧 Widget 小部件 MDIArea MDI区域 DockWidget 停靠窗口 Input——输入控件 ComboBox

    64431

    C++ Qt开发:SqlRelationalTable关联表组件

    在上一篇文章中详细介绍了SqlTableModle组件是如何使用的,本篇文章将介绍SqlRelationalTable关联表组件,该该组件其实是SqlTableModle组件的扩展类,其提供了一个带关系的数据模型...使用 setRelation 方法可以使得在表格中更容易地显示和编辑关联数据,而不是直接显示外键的值。...db.exec("INSERT INTO Departments(departID,department) VALUES (30,'计算机学院')");}接着我们来看下在MainWindow构造函数中是如何进行初始化和表关联的...,以下是对代码的简要说明:打开数据库连接创建一个 SQLite 数据库连接,并指定了数据库文件的路径。...db.open()) return;设置主窗口的布局和属性将主窗口的中央部件设置为一个 QTableView,同时对表格的选择行为和外观进行了设置。

    28410

    C++ Qt开发:SqlTableModel映射组件应用

    在接下来的章节中,我们将学习如何配置 QSqlTableModel、与数据库进行交互、实现数据的动态显示和编辑,首先读者应绘制好UI界面,本次案例界面稍显复杂,读者可自行完成如下案例的绘制;以下是 QSqlTableModel...1.1 初始化组件首先我们来看一下MainWindow初始化部分是如何工作的,主要实现了以下功能:打开数据库首先使用SQLite数据库驱动连接名为"database.db"的数据库文件。...AutoSubmit);dataMapper->addMapping(ui->lineEdit_name, tabModel->fieldIndex("name"));dataMapper->toFirst();信号和槽连接当选择模型中的当前行改变时...下面是代码的详细解释:ui->comboBox->currentIndex() 获取用户在 QComboBox 中选择的字段的索引。Qt::AscendingOrder 表示升序排序。...// 升序排序tabModel->setSort(ui->comboBox->currentIndex(), Qt::AscendingOrder);// 降序排序tabModel->setSort(ui

    27600

    C++ Qt开发:SqlTableModel映射组件应用

    在接下来的章节中,我们将学习如何配置 QSqlTableModel、与数据库进行交互、实现数据的动态显示和编辑,首先读者应绘制好UI界面,本次案例界面稍显复杂,读者可自行完成如下案例的绘制; 以下是 QSqlTableModel...setSort(int column, Qt::SortOrder order) 设置排序的列和排序规则。...1.1 初始化组件 首先我们来看一下MainWindow初始化部分是如何工作的,主要实现了以下功能: 打开数据库 首先使用SQLite数据库驱动连接名为"database.db"的数据库文件。...; dataMapper->addMapping(ui->lineEdit_name, tabModel->fieldIndex("name")); dataMapper->toFirst(); 信号和槽连接...下面是代码的详细解释: ui->comboBox->currentIndex() 获取用户在 QComboBox 中选择的字段的索引。 Qt::AscendingOrder 表示升序排序。

    24410

    C++ Qt开发:ComboBox下拉组合框组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍ComboBox...在Qt中,ComboBox(组合框)是一种常用的用户界面控件,它提供了一个下拉列表,允许用户从预定义的选项中选择一个。...上述这些方法提供了对ComboBox进行配置、管理和与之交互的灵活性。你可以根据具体的应用需求使用这些方法,使ComboBox在你的Qt应用程序中按照期望的方式工作。...首先我们先来演示一下如何向Main选择框内批量追加选项,为了能更好的展示图标的导入,此处分别增加browser alt.ico和ksirtet.ico两个ICO图标,读者可通过《C++ Qt开发:PushButton...按钮组件》中所使用的方法将图标导入,接着在主函数初始化中我们可以使用以下代码将其初始化。

    1.9K10

    C++ Qt开发:ComboBox下拉组合框组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍ComboBox...在Qt中,ComboBox(组合框)是一种常用的用户界面控件,它提供了一个下拉列表,允许用户从预定义的选项中选择一个。...上述这些方法提供了对ComboBox进行配置、管理和与之交互的灵活性。你可以根据具体的应用需求使用这些方法,使ComboBox在你的Qt应用程序中按照期望的方式工作。...首先我们先来演示一下如何向Main选择框内批量追加选项,为了能更好的展示图标的导入,此处分别增加browser alt.ico和ksirtet.ico两个ICO图标,读者可通过 《C++ Qt开发:PushButton...按钮组件》中所使用的方法将图标导入,接着在主函数初始化中我们可以使用以下代码将其初始化。

    88010

    Qt多线程1:QThread

    参考文献 Qt使用多线程的一些心得——1.继承QThread的多线程使用方法 Qt使用多线程的一些心得——2.继承QObject的多线程使用方法 1....Qt4.8之前都是使用继承QThread的run这种方法,但是Qt4.8之后,Qt官方建议使用第二种方法。两种方法区别不大,用起来都比较方便,但继承QObject的方法更加灵活。...2.4 如何正确启动一个线程 线程的启动有几种方法,这几种方法设计到它的父对象归属问题,和如何删除他的问题。...继承QObject的多线程实现 在Qt4.8之后,Qt多线程的写法最好还是通过QObject来实现,和线程的交互通过信号和槽(实际上其实是通过事件)联系。...的deleteLater槽连接,这个信号槽必须连接,否则会内存泄漏 正常连接其他信号和槽(在连接信号槽之前调用moveToThread,不需要处理connect的第五个参数,否则就显示声明用Qt::QueuedConnection

    2.9K41

    如何使用Python Impyla客户端连接Hive和Impala

    温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。...1.文档编写目的 ---- 继上一章讲述如何在CDH集群安装Anaconda&搭建Python私有源后,本章节主要讲述如何使用Pyton Impyla客户端连接CDH集群的HiveServer2和Impala...内容概述 1.依赖包安装 2.代码编写 3.代码测试 测试环境 1.CM和CDH版本为5.11.2 2.RedHat7.2 前置条件 1.CDH集群环境正常运行 2.Anaconda已安装并配置环境变量...install sasl [q5peub7ywf.jpeg] [bwhqwoaole.jpeg] [29djbk60xk.jpeg] [q2ft7k59t8.jpeg] 注意:thrift的版本必须使用...温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 ---- 推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

    10.8K81

    Python 图形界面框架 PyQt5 使用指南!

    enaml将声明性语言与基于约束的布局系统结合在一起,使用户可以轻松地定义灵活布局的UI。enaml应用程序可以在任何支持Python和Qt的平台上运行。...PyQt提供了一个设计良好的窗口控件集合,每一个PyQt控件都对应一个Qt控件,因此PyQt的API接口与Qt的API接口很接近,但PyQt不再使用QMake系统和Q_OBJECT宏。...能够跨平台运行在Linux、Window和Mac OS系统上。 使用信号槽机制进行通信。 对Qt库进行完全封装。 可以使用成熟的IDE进行界面设计,并自动生成可执行的Python代码。...QtMultimedia:包含了处理多媒体的内容和调用摄像头 API 的类。 QtBluetooth:包含了查找和连接蓝牙的类。...PyQt5实战 实战项目:简易的天气查询软件 1、使用Qt Designer设计一个界面 用到的控件有Button, GroupBox, Label,ComboBox,TextEdit,同时定义了两个按钮

    6.9K21

    QT实现登录界面(利用MySQL保存数据和邮箱辅助注册)

    操作环境: QT5.10.0 MySQL8.0.19 遇到的错误及解决方法: QT连接mysql出错 创建一个类后提示无法解析的外部符号public: __cdeclXXXX解决办法 QT使用样式表加载了界面背景依旧无法显示...代码实现 4.1 使用Mysql及邮箱发送 4.1.1 连接Mysql 并使用 为了方便,这里我用了Navicat Preminum 对MySQL进行可视化操作,我们在名为test的数据库下创建一个表名为...//可以使用如下语句判断是否连接成功 if(dbconn.open("root", "xxxxxx")) { //如果判断为真,则连接成功 } query = (QSqlQuery)dbconn; //...163邮箱,我这里使用qq邮箱,如使用163,只需要将代码中qq替换为163即可,下面是如何发送邮件: //第一个参数是发送者邮箱,第二个授权码,并不是邮箱密码,要注意 Smtp smtp("2506897252...如何在qt添加资源文件呢?右键项目创建qt Resource File 这个就是资源文件,建好以后,添加我们做好的背景资源。 ?

    6.4K21
    领券