QT
文章平均质量分 79
致守
这个作者很懒,什么都没留下…
展开
-
QML语法-基础篇
Qt Quick 为 Qt 引入了一门叫(Qt Meta/Modeling Language)的脚本语言,它是 ECMAScript 标准的实现。所以 QML 语法是在 ECMAScript 语法的基础上实现的。语言的标准是由 Netscape、Sun、微软、Borland 等公司基于 JavaScript 和 JScript 锤炼、定义出来的。ECMAScript 仅仅是一个描述,定义了的所有属性、方法和对象。其他语言可以实现 ECMAScript 来作为功能的基础,正如 JavaScript 那样。转载 2023-03-18 19:57:40 · 503 阅读 · 0 评论 -
QML语法-对象篇(下篇)
Date 对象用于处理日期和时间。当使用无参构造函数创建 Date 对象时,该对象会自动把当前日期和时间保存为其初始值。实际上 Date 对象还可以用下面的方式来创建:示例如下:简单的示例:Date 还有一些与 UTC 吋间相关的方法,如 getUTCDate()、getUTCDay()、getUTCMonth() 等。看一个使用 Date.now() 计算耗时的小示例:Date 还有很多其他的方法,具体请参考:Date QML Type。转载 2023-03-18 19:56:09 · 195 阅读 · 0 评论 -
QML语法-对象篇(上篇)
如果你用过 C++ 或 Java,肯定熟悉类(class)。在中并没有 “类” 这个词, 其对应的是 “对象定义”,不过这太拗口了,因此还是诜择使用 “类” 这个词。对象是由 new 运算符加上要实例化的类型的名字创建的。在语法上与 C++ 类似。如果类的构造函数没有参数,括号可以省略;如果有多个参数, 则必须使用括号。为了避免混乱,笔者建议都使用括号。转载 2023-03-18 19:54:29 · 776 阅读 · 0 评论 -
【Qt】一篇全面的信号和槽函数机制总结
在Qt框架下,信号发出分为两种: 1、【每个类预定义的信号】:这些信号何时发出可以通过查看官方文档获知。 2、【自定义的信号】:这些信号的发出由开发人员自行定义。(2-2)信号的处理 当一个信号发出时,连接到它的槽函数通常会立即执行,就像一个普通函数调用一样。在这种情况下,信号和槽函数机制是完全独立于GUI事件循环的,并不会干扰GUI的事件循环。转载 2023-03-05 10:02:25 · 719 阅读 · 0 评论 -
Qt多线程中槽函数在哪个线程里执行分析
也是代码中注释掉的 moveToThread(this)所做的就是将整个 thread 类移到次线程中,去掉注释,你会发现slot在次线程中运行。可以看到,主线程id和slot_main()中的线程id是一样的,槽函数的线程和主线程是一样的!所以thread类中的slot_main()是在主线程执行,run()函数是在次线程执行。主线程(信号)QThread(槽), 但由于没说槽函数是在主线程执行的,所以不少人都认为它应该是在次线程执行了。run函数中的代码时确定无疑要在次线程中运行的,那么其他的呢?转载 2023-03-05 09:09:44 · 978 阅读 · 1 评论 -
QML控件类型:ComboBox
Window {width: 640ComboBox {id: canvaswidth: 12height: 8onPaint: {2 : 1radius: 2padding: 1clip: trueradius: 2(1126条消息) QML控件类型:ComboBox_友善啊,朋友的博客-CSDN博客_qml中combobox。转载 2023-02-19 08:24:55 · 1600 阅读 · 0 评论 -
Qml控件:ComboBox
的类型作为代理,这一点是为了确保弹框能够正常的交互工作以及自动关闭,如果使用其他类型作为代理组件,那么一定需要自己关闭弹框。在此我们使用官方推荐的。去定制,因为你的数据是一个数组,并且更有可能是一个动态数组(可以支持增删改等操作)。是一个图片按钮,跟按钮的属性基本一致,只是多了一个图片,可以参考这骗文章:。类型去定义,但它不能使用其他类型定义,毕竟这是一个弹框,不可以用。对于每项的背景色的定制,通上述的定制背景一样,使用一个。,这个和上述的定制背景可以做一样的操作。来说,最重要的是要定制它弹出的内容,及。转载 2023-02-19 08:18:47 · 493 阅读 · 0 评论 -
QML在Charts中动态修改Series(LineSeries, ScatterSeries, ,SplineSeries)的值
注意:在Series中修改数据的值比remove后再insert效率要高很多,特别是数据量特别大的时候,remove的时候很可能界面就卡死了,因此在动态修改Series值首选替换数据值!中数据的值,通过查看帮助文档,发现QML Charts中关于XYSeries的方法的说明如下图,共7个方法,其中数据替换的方法replace只写了一种通过点的值进行替换的方法。因此根据数据index动态替换Series的数据的方法。项目需要对Charts中的图表动态的修改。转载 2023-02-19 08:12:29 · 692 阅读 · 0 评论 -
ADB 命令知多少?详细 ADB 命令大全来啦
adb shell dumpsys activity |find "mFocusedActivity" 查看前台应用包名,适用于Android 7.0以下,必须先启动app。其中客户端是用来操作的电脑,服务端是Android设备。ADB也是Android SDK中的一个工具,可以直接操作管理Android模拟器或者真实的Android设备。简而言之,ADB就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作!ADB可以直接操作管理手机模拟器或者真实的手机设备(如华为手机)。...转载 2022-08-16 22:59:40 · 17864 阅读 · 0 评论 -
ADB—查看设备信息
ADB,即,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。转载 2022-08-14 12:46:30 · 8505 阅读 · 0 评论 -
adb命令 android 串口_「Android」Android常规adb命令
aapt全称:Android Asset Packaging Tool,看名称就知道他的作用是啥(Android资源打包工具),使用aapt时间先配置aapt环境(可以查看前文配置adb的文章,都是将路径添加到path中,方法相同,aapt链接: https://pan.baidu.com/s/1J4xpCTYUhWcWVFmrvgPiGA 提取码: i3yg)才能使用aapt。上述三个参数(-d -s -e)用于指定目标设备,如果有多个设备/模拟器连接,需要为命令指定目标设备,否则会无法执行命令。...转载 2022-08-14 12:45:35 · 1812 阅读 · 0 评论 -
adb shell 调试 Android 串口
为了调试这些串口,通常需要将它们飞线接出来,用pc的串口连接调试。在adb shell里是可以直接调试串口的,就不用飞线了,还可以验证Android串口配置是否正确。microcom的-t设置要合理,太短,输入命令可能输入不完就退出了,太长要等很久才退出。如果没有响应,请检查Android串口配置是否正确,串口号是否对,波特率是否正确。必须先执行第一个窗口,再执行第二个窗口,因为不设置波特率,第二个窗口显示会有问题。然后可以在第一个窗口输入命令,在第二个窗口可以看到命令和响应。ttyS0 要操作的串口。.转载 2022-08-14 12:44:39 · 2075 阅读 · 0 评论 -
Android查看所有串口和usb设备快捷方法
busybox stty -F /dev/ttyS0 ispeed 115200 ospeed 115200 cs8 //该命令将串口1(/dev/ttyS0)设置成115200波特率,8位数据模式。busybox stty -F /dev/ttyS0 -a //查看串口参数,查看串口0(/dev/ttyS0)当前的参数,包括波特率、数据位等。在写的串口程序不能正常接收发送数据,可能是linux下的串口设备没有打开,需要改变串口设备的权限(chmod 777 /dev/ttyUSB0)....转载 2022-08-14 12:43:56 · 3977 阅读 · 0 评论 -
QT for Android串口开发
最近在搞QT for Android开发,在网上搜了下解决方案发现都是需要java库的支持,QT原生接口QSerialPort不支持Android系统的串口开发,因为QT的接口掉的都是标准的接口,而Android都是非标准的,所以用不了,只能自己写。...转载 2022-08-14 09:06:50 · 1255 阅读 · 0 评论 -
Qt编写提示进度条的实现示例
我们在很多的安装包中,在安装过程中,经常可以在底部看到一个漂亮的进度条,上面悬浮着显示对应的进度,然后底部进度多种颜色渐变展示,Qt自带的进度条或者操作系统的进度条样式,不够炫,这次索性直接来个自定义绘制实现,至于是继承QWidget类还是QProgressBar类,都无所谓,如果是继承自QWidget类的话,就需要自己设置最大值最小值范围值,而继承自QProgressBar的话就可以直接用自带的函数来实现。这次编写的进度条,提示信息的背景色也是和下面的进度颜色完全一致跟着变化的。...转载 2022-08-09 14:13:51 · 1976 阅读 · 0 评论 -
QString字符串常用编码格式转换
在用QT作为模块向其他进程发送消息时,消息内容带有中文,在接收进程中(MFC)收到的字符由于编码差异,在使用字符串时显示异常。QT编码时使用的是UTF-8格式,VC中使用的多字节(GBK),直接进行使用字符串会解析异常,如果得到的字符串保存到xml等文件中,还会导致文件编码格式发生改变。所以在传输时,需要将待传输的字符转换成目标平台相同格式的编码。......转载 2022-07-20 09:33:53 · 1481 阅读 · 0 评论 -
Qt之QString
QStrings;b=%2;输出“a=250;b=hello;b=22.22”转载 2022-07-19 23:22:16 · 808 阅读 · 0 评论 -
QT 关于QString的格式化(补零/进制转换)
QString的格式化,我们主要用到的是arg()函数,该函数有很多重载:QString arg(const QString &a, int fieldWidth = 0, QChar fillChar = QLatin1Char(' ')) constQString arg(qlonglong a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' ')) constQString arg(qulon转载 2022-05-21 13:29:01 · 4294 阅读 · 0 评论 -
Qml中的Text控件
环境Ubuntu16.04 + Qt 5.7.1Qml的Text控件如qt助手中描述的,Text可以显示纯文本和富文本。 例如,可以定义如下具有特定字体和大小的红色文本: Text { text: "Hello World!" font.family: "Helvetica" font.pointSize: 24 color: "red" }1 2 3 4 5 6富文本使用HTML样式的标记定义: Text .转载 2022-05-21 09:42:18 · 2228 阅读 · 0 评论 -
QtAndroid详解(5):JNI调用Android系统功能(2)
在“QtAndroid详解(4):JNI调用Android系统功能(1)”中我们给出了一些简单的示例,演示了如何使用 Qt JNI 类库访问网络状态、系统资源目录、当前应用信息等等,这次呢,我们提供一些新的示例,这些示例可能更具实际意义。本文的示例包括:震动 让屏幕常亮 动态改变应用的显示方向(横屏、竖屏) 调节屏幕亮度 设置铃声模式示例介绍 图1 我们按照界面上的顺序,一个一个来看这些功能如何实现。源码分析...转载 2022-05-13 23:00:50 · 1342 阅读 · 1 评论 -
GuiLite - 超轻量 UI 框架
GuiLite是5千行的图形界面库,可以运行在所有平台(例如:iOS/macOS/WathOS,Android,Linux(ARM/x86-64),Windows(包含VR),Docker和MCU)上;也可以与多种语言(例如: Swift, Java, Javascript, C#, Golang)协同工作。轻量: 5千行C++代码,可合并在:1个头文件(GuiLite.h),1个实现文件(GuiLite.cpp)中 - 轻松编译/移植 超快: 一次调用就可以完成图形渲染,与操作系统及第三方库无..转载 2022-05-05 22:59:02 · 4737 阅读 · 0 评论 -
自己写的一个qml数字键盘
main.qmlimport QtQuick 2.10import QtQuick.Window 2.10import QtQuick.Controls 2.3//import QtQuick.VirtualKeyboard 2.3Window { id: window visible: true width: 640 height: 480 title: qsTr("Hello World") property int indexSelec转载 2022-05-03 15:55:31 · 506 阅读 · 0 评论 -
SQLite3+Qt开发:SQLite3简要介绍+在Qt5中使用步骤
目录一、SQLite简要介绍什么是SQLite?为什么要用SQLite?二、在Qt5中使用步骤第一步:导入sqlite3相关文件第二步:打开qt修改 .pro文件,添加SQL模块第三步:简单测试一下 打开、关闭数据库一、SQLite简要介绍什么是SQLite?SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。就像其他数据库,SQ..转载 2022-05-01 06:57:39 · 3265 阅读 · 3 评论 -
关于QT for Android生成的AndroidManifest.xml学习说明
<?xml version="1.0"?><manifest package="org.qtproject.example" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.0" android:versionCode="1" android:installLocation="auto"> <application android:hardwareAc.转载 2022-04-30 10:08:30 · 1053 阅读 · 0 评论 -
Qt安卓开发经验
pro中引入安卓拓展模块 QT += androidextras 。 pro中指定安卓打包目录 ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android 指定引入安卓特定目录比如程序图标、变量、颜色、java代码文件、jar库文件等。AndroidManifest.xml 每个程序唯一的一个全局配置文件,里面xml格式的数据,标明支持的安卓版本、图标位置、横屏竖屏、权限等。这个文件是最关键的,如果没有这个文件则Qt会默认生成一个。 android/res/drawable-转载 2022-04-30 09:12:52 · 3337 阅读 · 2 评论 -
全面认识 Qt Widgets、QML、Qt Quick
Qt Widgets、QML、Qt Quick ...呃 (⊙﹏⊙) ,简直了,傻傻分不清楚!哈哈,没关系,来全面认识一下,也许还有一些你不知道的秘密哦!1QML 和 Qt Quick 是什么关系?从概念上区分QML 是一种用户界面规范和标记语言,它允许开发/设计人员创建高性能、流畅的动画和具有视觉吸引力的应用程序。这里,主要涉及两点: 用户界面规范:QML 提供了一种高度可读的、声明式的、类似 JSON 的语法,支持命令式 JavaScript 表达式和动态属性绑定。.转载 2022-04-07 17:51:16 · 3941 阅读 · 1 评论 -
【QT】跨线程的信号槽(connect函数)
【QT】跨线程的信号槽(connect函数)线程的信号槽机制需要开启线程的事件循环机制,即调用QThread::exec()函数开启线程的事件循环。Qt信号-槽连接函数原型如下:bool QObject::connect ( const QObject *sender, const char *signal, const QObject *receiver, const char *method,Qt::ConnectionTypetype= Qt::AutoConnection ...转载 2022-03-14 17:28:00 · 5771 阅读 · 0 评论 -
libmodbus tcp/ip client
文章目录 1.modbus概况 2.各语言的推荐 Modbus 库 3. 我对modbus程序的理解 4.tcp/ip 报文解析 4.1 功能码(libmodbus 程序中的定义) 4.2 client向server发送 的request报文 4.2.1 client发送报文,各个功能码对应的数据部分 4.2.2 报文举例 4.3 server的response 报文 5.写个代码(libmodb转载 2022-03-13 17:23:31 · 1521 阅读 · 0 评论 -
QT下多线程调用TCP的问题及可能的解决方案
背景:在上一篇博文https://www.cnblogs.com/yuanwebpage/p/12638001.html中结尾时,提到QT下所有IO类都不允许跨线程调用,这极大增加了编程难度。本文接着上一篇,主要讨论当套接字与UI线程不在同一线程时,如何使TCP的收发实时。1. 能否跨线程调用TCP套接字? 对于TCP通信,一个常见的操作就是读写分开,即读写分别在不同线程中执行,这样实现实时全双工通信,那么在QT中能否实现读写线程分开呢?理论上将是不可以的,但是实际操作发现能实现(会有错误警告)。转载 2020-12-16 19:21:32 · 2538 阅读 · 0 评论 -
初探Qt线程池(最小实例)
概述一般的多线程任务大多是避免主线程阻塞(界面卡死),开销线程的次数少。现在有一个光伏监控系统用于采集光伏板的发电功率,每次接收完网络数据包就会进行数据库的写操作。为了不占用主 GUI 线程,这一过程都在新线程里完成。但是成百上千的光伏板时时刻刻都会传送数据过来,如果每一次的执行都完整的创建线程-执行-销毁线程,可见这对于资源的消耗是何等之高。根据《Qt 多线程编程之敲开 QThread 类的大门》中的「3.1 开多少个线程比较合适?」所讲“频繁的切换线程会使性能降低”,尤其是资源密集型操作,如需要转载 2020-12-16 19:16:31 · 797 阅读 · 0 评论 -
ModbusTCP协议
原文链接:https://blog.csdn.net/iknow_nothing/article/details/84292914视频地址:https://www.bilibili.com/video/BV1cz4y1R7cghttps://www.cnblogs.com/ioufev/articles/10830028.html简介Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。1996年施耐德公司推出基于以太网TCP/IP的Modbus协议:ModbusTC转载 2020-12-05 00:01:34 · 1214 阅读 · 0 评论 -
Qt 之 QRadioButton
简述QRadioButton部件提供了一个带有文本标签的单选框(单选按钮)。QRadioButton是一个可以切换选中(checked)或未选中(unchecked)状态的选项按钮。单选框通常呈现给用户一个“多选一”的选择。也就是说,在一组单选框中,一次只能选中一个单选框。|版权声明:一去、二三里,未经博主允许不得转载。详细描述单选框默认开启自动互斥(autoExclusive)。如果启用了自动互斥,属于同一个父部件的单选框的行为就和属于一个互斥按钮组的一样。如果你需要为属于同一父部件.转载 2020-11-29 19:08:20 · 668 阅读 · 0 评论 -
关于QT 中 QDialog的几点疑问的解答
1.如果使用exec()默认为模态的。如果用show()需要设置setModel(true)才是模态的。2.当删除一个dialog对象时,exec()返回QDialog::Rejected,因此在删除dialog时要特别小心。举例说明一下:A 是一个QWidget 。B是一个QDialog,B = new QDialog(A)。 int rec = B->exec(); if (!thisDeleted) { if (rec == QDialog::Ac...转载 2020-11-29 00:13:00 · 853 阅读 · 0 评论 -
Qt工作笔记-QDialog模式对话框传递数据给主窗口
话不多说,上图:这里同样是采用了Qt的信号与槽机制。项目文件分布如下:代码如下:dialog.h #ifndef DIALOG_H #define DIALOG_H #include <QDialog> namespace Ui { class Dialog; } class Dialog : public QDialog { Q_OBJEC...转载 2020-11-29 00:11:27 · 770 阅读 · 0 评论 -
Qt:no matching function for call to (类名)::connect()的错误原因总结
最近初学Qt,在做项目的过程中遇到 E:\QT Project\WinCalculater\mainwindow.cpp:132: 错误:no matching function for call to 'MainWindow::connect(MyButton*&, void (MyButton::*)(), MainWindow* const, const char*)' 的问题,然后我就上网查错误的原因,但是查到的答案都没有解决我的问题,后来自己发现了问题所在,故在此与大家分享下。错误代.转载 2020-11-29 00:00:48 · 7893 阅读 · 1 评论 -
QT事件:changeEvent(改变事件)
改变事件changeEvent(QEvent* e)继承自QWidget以下事件的变化会触发changeEvent:QEvent::ToolBarChange, 工具栏的按钮被按下 QEvent::ActivationChange, 活动状态变化 QEvent::EnabledChange, 可用/不可用改变 QEvent::FontChange, 字体改变 QEvent::StyleChange, 风格改变 QEvent::Pa..转载 2020-11-28 22:46:35 · 3488 阅读 · 0 评论 -
Qt之事件处理机制
阅读目录思维导读 一、事件简介 二、QT事件产生 三、Qt事件处理 四、自定义事件和eventFilter示例回到顶部思维导读 回到顶部一、事件简介 QT程序是事件驱动的, 程序的每个动作都是由内部某个事件所触发。QT事件的发生和处理成为程序运行的主线,存在于程序整个生命周期。 常见的QT事件类型如下: 键盘事件: 按键按下和松开 鼠标事件: 鼠标移动,鼠标按键的按下和松开 拖放事件: 用鼠标进行拖放 滚轮事件: 鼠...转载 2020-11-27 09:15:03 · 647 阅读 · 0 评论 -
QT中关闭应用程序和窗口的函数(quit(),exit()以及close()的区别)
使用QT编辑界面,其中带来很大方便的一点就是Qt中自带丰富的、种类齐全的类及其功能函数,程序员可以在编辑程序的过程中简单地直接调用。关于窗口关闭的操作,在这里指出常用的三个槽,即quit(),exit()以及close()。 首先说明窗口退出时,系统提示对话框的代码编辑。对主程序的退出,可以调用成员函数exit(),同时也可以调用槽quit(),二者此时都能起到关闭应用程序的作用。只是应注意二者调用的方式不同。如下程序示例: { QApplication* app;...转载 2020-11-27 09:02:05 · 3990 阅读 · 1 评论 -
【Qt】通过QtCreator源码学习Qt(五):QLoggingCategory管理、分类、过滤打印信息
https://blog.csdn.net/u010168781/article/details/846675241、QLoggingCategory简介在QtCreator源码中新学到一个类QLoggingCategory。QLoggingCategory可以控制打印输出类别和区域。方便在调试时,过滤掉不关心的打印信息。2、使用方法声明在头文件中声明,供其它文件使用#include <QLoggingCategory>Q_DECLARE_LOGGING_CATEG转载 2020-11-24 23:04:39 · 827 阅读 · 0 评论 -
D-Bus学习(一):总体介绍
D-Bus的方式在移动手机操作系统中非常重要,包括Maemo,Moblin等以Linux为基础的操作系统。估计Andriod也大量使用(Android使用Binder IPC)。D-Bus的相关学习资料见:http://www.freedesktop.org/wiki/Software/dbus,在网上也有大量的学习资料,在http://blog.chinaunix.net/u3/111961/中有不少的中文资料,收集了很多网络资料。我决定认真学习一下,做一下笔记。主要资料来源于上面两个网站,尤其是fre转载 2020-11-24 22:58:28 · 550 阅读 · 0 评论