自动采集编写(纯Qt编写,支持任意Qt版本+任意编译器+枚举)

优采云 发布时间: 2021-12-25 14:19

  自动采集编写(纯Qt编写,支持任意Qt版本+任意编译器+枚举)

  一、前言

  数据库用作数据源,并在许多组态软件中使用。指定数据库类型,填写数据库连接信息,指定对应的数据库表和字段,以及采集间隔。程序根据采集间隔自动采集数据库数据并绑定到界面控件分配显示即可。使用数据库作为数据源有一个非常大的好处,不需要写额外的通讯代码,与对方的语言或平台无关,也不会出现不规范、不规范等争吵不准确的通信协议导致不正确的分析。情况是它支持任何语言和平台。毕竟有数据库作为中间载体过渡,

  体验地址:提取码:877p 文件:可执行文件.zip

  二、 实现的功能自动加载插件文件中的所有控件生成列表,默认自带120多个控件。拖到画布上自动生成对应的控件,所见即所得。在右侧的中文属性栏上,更改相应的属性会立即应用到相应的选中控件上,直观简洁,非常适合小白使用。独创的属性列文本翻译映射机制,效率极高,可以非常方便的扩展其他语言的属性列。所有控件的属性都会自动提取出来并显示在右侧的属性栏中,包括枚举值下拉框。支持手动选择插件文件和外部导入插件文件。可以将当前画布的所有控件配置信息导出到一个xml文件中。可以手动选择xml文件打开控件布局,根据xml文件自动加载控件。可以通过拉动滑动条、勾选模拟数据复选框、输入文本框三种方式生成数据并应用所有控件。控件支持八个方向调节大小,自适应任意分辨率,键盘可上下左右微调位置。以三种方式设置数据:串口采集、网络采集、数据库采集。代码极其简洁,注释也很详细,可作为配置原型,自行扩展更*敏*感*词*。纯Qt编写,支持任意Qt版本+任意编译器+任意系统。三、效果图

  

  四、核心代码

  void frmData::initServer()

{

//实例化串口类,绑定信号槽

com = new QextSerialPort(QextSerialPort::EventDriven, this);

connect(com, SIGNAL(readyRead()), this, SLOT(readDataCom()));

//实例化网络通信客户端类,绑定信号槽

tcpClient = new QTcpSocket(this);

connect(tcpClient, SIGNAL(readyRead()), this, SLOT(readDataClient()));

//实例化网络通信服务端类,绑定信号槽

tcpSocket = NULL;

tcpServer = new QTcpServer(this);

connect(tcpServer, SIGNAL(newConnection()), this, SLOT(newConnection()));

//开启定时器读取数据库采集数据

timer = new QTimer(this);

connect(timer, SIGNAL(timeout()), this, SLOT(readDataDb()));

timer->setInterval(1000);

}

void frmData::on_btnOpenDb_clicked()

{

if (ui->btnOpenDb->text() == "打开") {

if (App::DbType == "sqlite") {

//先检查数据库文件是否存在

QString dbPath = qApp->applicationDirPath() + "/" + App::DbPath;

QFile file(dbPath);

if (file.size() == 0) {

return;

}

dbConn = QSqlDatabase::addDatabase("QSQLITE");

dbConn.setDatabaseName(dbPath);

} else if (App::DbType == "mysql") {

//先检查数据库服务器IP是否通,不检查直接连接,不存在的IP会卡很久

QTcpSocket socket;

socket.connectToHost(App::DbPath, App::DbPort);

if (!socket.waitForConnected(2000)) {

return;

} else {

socket.disconnectFromHost();

}

dbConn = QSqlDatabase::addDatabase("QMYSQL");

dbConn.setHostName(App::DbPath);

dbConn.setPort(App::DbPort);

dbConn.setDatabaseName(App::DbName);

dbConn.setUserName(App::DbUser);

dbConn.setPassword(App::DbPwd);

} else {

//暂未支持其他数据库,可以自行加入

return;

}

bool ok = dbConn.open();

if (ok) {

setEnable(ui->btnOpenDb, false);

ui->btnOpenDb->setText("关闭");

timer->start();

}

} else {

if (dbConn.isOpen()) {

dbConn.close();

}

setEnable(ui->btnOpenDb, true);

ui->btnOpenDb->setText("打开");

timer->stop();

}

}

void frmData::readDataDb()

{

QString sql = QString("select %1 from %2").arg(App::DbColumn).arg(App::DbTable);

QSqlQuery query;

if (query.exec(sql)) {

if (query.next()) {

double value = query.value(0).toDouble();

ui->txtValue->setText(QString::number(value));

append(4, QString("当前值: %1").arg(value));

}

}

}

  五、控件引入了150多个漂亮的控件,涵盖了各种仪表盘、进度条、进度球、指南针、图表、标尺、温度计、导航条、导航条、flatui、高亮按钮、滑动选择器、农历等。远远超过qwt集成的控件数量。每个类可以独立成一个单独的控件,零耦合,每个控件都有一个头文件和一个实现文件,不依赖其他文件,方便单个控件以源代码的形式集成到项目中,用更少的代码。qwt 的控制类是相互关联且高度耦合的。如果要使用其中一种控件,则必须收录

所有代码。全部用纯Qt编写,QWidget+QPainter绘图,支持从Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持windows+linux+mac+embedded linux等任何操作系统,无乱码,可直接集成到Qt Creator中,和内置控件一样使用,效果最只需要设置几个属性,极其方便。每个控件都有对应的单独的DEMO,其中收录

控件源代码,方便参考和使用。它还提供了一个供所有控件使用的集成演示。每个控件的源代码都有详细的中文注释,并按照统一的设计规范编写,方便学习自定义控件的编写。每个控件的默认配色和demo的配色都很漂亮。超过130个可见控件和6个不可见控件。gcc等编译器,支持windows+linux+mac+embedded linux等任何操作系统,无乱码,可直接集成到Qt Creator中,像内置控件一样使用,大部分效果只需要设置一个属性很少,非常方便。每个控件都有对应的单独的DEMO,其中收录

控件源代码,方便参考和使用。它还提供了一个供所有控件使用的集成演示。每个控件的源代码都有详细的中文注释,并按照统一的设计规范编写,方便学习自定义控件的编写。每个控件的默认配色和demo的配色都很漂亮。超过130个可见控件和6个不可见控件。gcc等编译器,支持windows+linux+mac+embedded linux等任何操作系统,无乱码,可直接集成到Qt Creator中,像内置控件一样使用,大部分效果只需要设置一个属性很少,非常方便。每个控件都有对应的单独的DEMO,其中收录

控件源代码,方便参考和使用。它还提供了一个供所有控件使用的集成演示。每个控件的源代码都有详细的中文注释,并按照统一的设计规范编写,方便学习自定义控件的编写。每个控件的默认配色和demo的配色都很漂亮。超过130个可见控件和6个不可见控件。支持windows+linux+mac+embedded linux等任何操作系统,无乱码,可直接集成到Qt Creator中,像内置控件一样使用,大部分效果只需要设置几个属性,就是非常方便。每个控件都有对应的单独的DEMO,其中收录

控件源代码,方便参考和使用。它还提供了一个供所有控件使用的集成演示。每个控件的源代码都有详细的中文注释,并按照统一的设计规范编写,方便学习自定义控件的编写。每个控件的默认配色和demo的配色都很漂亮。超过130个可见控件和6个不可见控件。支持windows+linux+mac+embedded linux等任何操作系统,无乱码,可直接集成到Qt Creator中,像内置控件一样使用,大部分效果只需要设置几个属性,就是非常方便。每个控件都有对应的单独的DEMO,其中收录

控件源代码,方便参考和使用。它还提供了一个供所有控件使用的集成演示。每个控件的源代码都有详细的中文注释,并按照统一的设计规范编写,方便学习自定义控件的编写。每个控件的默认配色和demo的配色都很漂亮。超过130个可见控件和6个不可见控件。无乱码,可直接集成到Qt Creator中,像内置控件一样使用,大部分效果只需要设置几个属性,极其方便。每个控件都有对应的单独的DEMO,其中收录

控件源代码,方便参考和使用。它还提供了一个供所有控件使用的集成演示。每个控件的源代码都有详细的中文注释,并按照统一的设计规范编写,方便学习自定义控件的编写。每个控件的默认配色和demo的配色都很漂亮。超过130个可见控件和6个不可见控件。无乱码,可直接集成到Qt Creator中,像内置控件一样使用,大部分效果只需要设置几个属性,极其方便。每个控件都有对应的单独的DEMO,其中收录

控件源代码,方便参考和使用。它还提供了一个供所有控件使用的集成演示。每个控件的源代码都有详细的中文注释,并按照统一的设计规范编写,方便学习自定义控件的编写。每个控件的默认配色和demo的配色都很漂亮。超过130个可见控件和6个不可见控件。这是非常方便的。每个控件都有对应的单独的DEMO,其中收录

控件源代码,方便参考和使用。它还提供了一个供所有控件使用的集成演示。每个控件的源代码都有详细的中文注释,并按照统一的设计规范编写,方便学习自定义控件的编写。每个控件的默认配色和demo的配色都很漂亮。超过130个可见控件和6个不可见控件。这是非常方便的。每个控件都有对应的单独的DEMO,其中收录

控件源代码,方便参考和使用。它还提供了一个供所有控件使用的集成演示。每个控件的源代码都有详细的中文注释,并按照统一的设计规范编写,方便学习自定义控件的编写。每个控件的默认配色和demo的配色都很漂亮。超过130个可见控件和6个不可见控件。每个控件的源代码都有详细的中文注释,并按照统一的设计规范编写,方便学习自定义控件的编写。每个控件的默认配色和demo的配色都很漂亮。超过130个可见控件和6个不可见控件。每个控件的源代码都有详细的中文注释,并按照统一的设计规范编写,方便学习自定义控件的编写。每个控件的默认配色和demo的配色都很漂亮。超过130个可见控件和6个不可见控件。

  一些控件提供多种样式可供选择,以及多种指示器样式可供选择。所有控件都适应窗体的拉伸和变化。集成自定义控件属性设计器,支持拖动设计,所见即所得,支持导入导出xml格式。自带activex控件演示,所有控件都可以直接在ie浏览器中运行。集成fontawesome图形字体+阿里巴巴iconfont采集

的数百种图形字体,享受图形字体的乐趣。所有控件最后生成一个动态库文件(dll等),可以直接集成到qtcreator中进行拖动设计使用。已经有qml版本了,如果用户需求大,以后会考虑pyqt版本。自定义控件插件开放使用动态库(永久免费),没有任何后门和限制,请放心使用。目前提供了26个版本的dll,*敏*感*词*与规划系列《大话程序员》、《程序员成长教程》、《程序员的烦恼》,受益匪浅,受益终生!SDK下载链接:提取码:877p 请放心使用。目前提供了26个版本的dll,*敏*感*词*与规划系列《大话程序员》、《程序员成长教程》、《程序员的烦恼》,受益匪浅,受益终生!SDK下载链接:提取码:877p 请放心使用。目前提供了26个版本的dll,*敏*感*词*与规划系列《大话程序员》、《程序员成长教程》、《程序员的烦恼》,受益匪浅,受益终生!SDK下载链接:提取码:877p @2.3 msvc2017 32+64 mingw 32+64。不定期添加控件和改进控件,不定期更新SDK。欢迎任何建议,谢谢!Qt入门书籍推荐霍亚非的《Qt Creator快速入门》和《Qt5编程入门》,Qt进阶书籍推荐官方《C++ GUI Qt4编程》。强烈推荐程序员修养与规划系列《大话程序员》、《程序员成长教程》、《程序员的烦恼》,受益匪浅,受益终生!SDK下载链接:提取码:877p @2.3 msvc2017 32+64 mingw 32+64。不定期添加控件和改进控件,不定期更新SDK。欢迎任何建议,谢谢!Qt入门书籍推荐霍亚非的《Qt Creator快速入门》和《Qt5编程入门》,Qt进阶书籍推荐官方《C++ GUI Qt4编程》。强烈推荐程序员修养与规划系列《大话程序员》、《程序员成长教程》、《程序员的烦恼》,受益匪浅,受益终生!SDK下载链接:提取码:877p Qt入门书籍推荐霍亚非的《Qt Creator快速入门》和《Qt5编程入门》,Qt进阶书籍推荐官方《C++ GUI Qt4编程》。强烈推荐程序员修养与规划系列《大话程序员》、《程序员成长教程》、《程序员的烦恼》,受益匪浅,受益终生!SDK下载链接:提取码:877p Qt入门书籍推荐霍亚非的《Qt Creator快速入门》和《Qt5编程入门》,Qt进阶书籍推荐官方《C++ GUI Qt4编程》。强烈推荐程序员修养与规划系列《大话程序员》、《程序员成长教程》、《程序员的烦恼》,受益匪浅,受益终生!SDK下载链接:提取码:877p 这将受益匪浅,受益终生!SDK下载链接:提取码:877p 这将受益匪浅,受益终生!SDK下载链接:提取码:877p

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线