
QT设计相关
文章平均质量分 56
QT设计相关
dwp1147170607
这个作者很懒,什么都没留下…
展开
-
在ZYNQ ARM平台上交叉调试qt程序
环境说明: 交叉编译器为petalinux2018.3自带的arm-linux-gnueabihf-g++。QT库版本为5.9.1。1 在虚拟机安装gdb-multiarch sudo apt install gdb-multiarch2 下载Qt5.9.1的源码,然后交叉编译该源码并安装到某文件夹下。3 在Qt设置中添加新的Qt versions,如下图所示4 在Compilers中添加petalinux自带的交叉编译器arm-linux-gnueabihf-..原创 2021-03-02 14:11:08 · 1538 阅读 · 0 评论 -
qt多线程编程之使用moveToThread
Qt有两种多线程的方法,其中一种是继承QThread的run函数,另外一种是把一个继承于QObject的类用moveToThread函数转移到一个QThread对象里。 Qt4.8之前都是使用继承QThread的run这种方法,但是Qt4.8之后,Qt官方建议使用第二种方法。1)用原始的QThread的started信号触发自定义的slot启动线程,而不是派生QThread的类重载run函数启动线程。将一个类派生自QObject,然后实现所有的signal/slot,然后通过调用movetothrea.原创 2021-02-05 16:48:07 · 944 阅读 · 2 评论 -
Qt用共享内存代替信号与槽机制
信号与槽在使用时会涉及内存间的数据拷贝,如果emit时传递了大量的数据到槽函数,这样效率可能较低。因此考虑只使用信号与槽的事件通知机制,不将数据emit出去,而将数据通过共享内存QSharedMemory在信号触发函数和槽函数间共享。...原创 2021-01-24 23:49:47 · 364 阅读 · 0 评论 -
大小端与结构体释疑
本人在做项目过程中需要在ARM对从FPGA读取到的数据进行处理,在实际过程中产生了一些问题,在思考了后记录在此。1 大小端模式大小端指数据在内存中的存储方式。小端指数据的高字节保存在内存的高地址处,低字节保存在内存的低地址处。大端模式则正好相反。ARM和x86的CPU一般情况下都为小端模式。对于值unsigned int value = 0x12345678,在内存中的存储方式如下。内存地址小端模式存放内容大端模式存放内容0x000040000x780x120.原创 2021-01-23 00:26:41 · 2010 阅读 · 1 评论 -
QString与char *的相互转换
1. QString 转换为 char *方法一将 QString 转 char *,需要用到 QByteArray 类。因为 char * 最后都有一个’\0’作为结束符,而采用 QString::toLatin1() 时会在字符串后面加上’\0’。QString str;char* ch;QByteArray ba = str.toLatin1(); // mustch=ba.data();注意第3行,一定要加上,不可以 str.toLatin1().data() 这样一步完原创 2020-10-07 23:16:22 · 698 阅读 · 0 评论 -
QThread多线程的使用
点击创建线程,程序会创建一个线程每隔1s打印自增数, 点击删除线程会删除最近创建的线程。下方的数字显示当前的线程数量。printThread类继承了QThread,通过start调用执行run函数。结束线程时,调用quit函数使线程退出。下面两个函数是按钮的槽函数,用STL MAP管理线程的ID与线程对象指针。注意:正常情况下通过线程对象调用start函数,会去执行run函数。从该函数返回后,线程实际就已经结束了。在run函数的默认实现中,它会去调用exec函数进入事件循环机制。我们也可以在重..原创 2020-09-09 21:33:43 · 368 阅读 · 0 评论 -
QThread线程的使用
通过moveToThread//mainwindow.cpp#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow){ ui->setupUi(this); myThread1 = new myThread; myThread2 = new原创 2020-05-27 22:02:02 · 266 阅读 · 0 评论 -
Qt中的QByteArray类
1 QByteArray类概述QByteArray类指字节数组,用QByteArray比const char *这种类型要便利的多。QByteArray类可用来存储包括’\0’的字节数组,或是传统的8bit以’\0’结尾的字符串,它使用了隐式共享的技术。使用QByteArray类我们能够很方便的对数据包进行操作,可以先把数据包转换成QByteArray类型,对QByteArray可以较为方...原创 2020-04-20 16:15:06 · 4322 阅读 · 0 评论 -
Qt中的QString类
1 概述QString是Qt界面编程中最常用的类,它实现对字符串的存储,还有很多函数可以方便地实现字符串与很多其它数据类型的转化。QString存储字符串每一个字符是一个16位的QChar,QChar使用Unicode 4.0编码,因此QString可以处理中文字符,注意一个汉字是一个字符。QString类使用了隐式共享的技术(写时复制,只复制链接,如要修改则在修改时才复制实际的数据),从...原创 2020-04-20 15:04:22 · 2567 阅读 · 0 评论 -
Qt窗体布局
-先在QWidget窗体上添加一个QVBoxLayout或QHBoxLayout组件,可以将整体布局设置为QVBoxLayout或QHBoxLayout,将margin调至0后达到无边框的效果。原创 2020-04-20 11:02:01 · 1142 阅读 · 0 评论 -
Qt的容器类——QMap
定义:QMap< Key,T > 提供一个字典,即关联数组,一个键映射到一个值。QMap存储数据是按照键的原创 2020-04-19 18:44:06 · 5311 阅读 · 0 评论 -
Qt的容器类——QList
定义:QList < T > 以数组列表形式实现,在其前后添加数组非常快。注意Qt中有很多函数返回了QList类型,要遍历这些返回的容器,必须先复制再遍历。因为Qt使用了隐式复制,所以开销并不大。当一个迭代器在操作一个容器时,不要复制这个容器。1. 初始化QList<QString> list; //定义QList,存储数据类型为QString2. 插入...原创 2020-04-19 12:43:20 · 7782 阅读 · 1 评论 -
Qt的容器类——概述
1 Qt的容器类Qt提供了多个基于模板的容器类,用于存储指定类型的数据项。Qt的容器类比STL中的要轻巧、安全,它们是隐式共享和可重入的,并进行了速度和存储优化,另外它们是线程安全的。线程安全:作为只读容器时可以被多个线程同时访问。隐式共享:是一种对象的管理方法,一个对象被隐式共享只是传递该对象的一个指针给使用者,而不复制实际的对象数据,只有在使用者修改数据时,才实际复制共享对象给使用...原创 2020-04-19 11:02:42 · 411 阅读 · 0 评论 -
Qt的文件操作
1 文本文件读写1.1 用QFile读写文本文件QFile类是直接与IO设备打交道,进行文件读写的类。[virtual] bool QFile::open(OpenMode mode);//打开文件。并指定模式enum QIODevice::OpenModeFlag{ QIODevice::ReadOnly,//只读,用于载入文件 QIODevice::WriteOnly,//只...原创 2020-04-17 11:24:53 · 528 阅读 · 0 评论 -
QT网络编程之HTTP协议
1 实现高层网络操作的类QT网络模块提供一些类实现OSI 7层网络模型中高层的网络协议,如HTTP、FTP、SNMP等。QNetworkRequest类通过一个URL地址发起网络协议请求,也保存网络请求的信息,目前支持HTTP、FTP、URLs的下载或上传。QNetworkAccessManager类用于协调网络操作,QNetworkRequest发起一个请求后,QNetworkAccess...原创 2020-04-16 15:00:18 · 940 阅读 · 0 评论 -
QT网络编程之UDP
1 UDP通信概述QUdpSocket类UDP协议(用户数据报协议)是不可靠的、轻量的、无连接的协议。与TCP不同UDP通信时,每次发送数据报协议都要指定目标地址和端口。QT中通过QUdpSocket类实现UDP通信,它以数据报传输数据,而不是连续的字节流。发送数据报时用writeDatagram函数向指定的地址和端口发送数据报,长度一般小于512Byte。接收数据时,要先用bind函数绑定...原创 2020-04-15 23:37:44 · 6436 阅读 · 0 评论 -
Qt网络编程之TCP
1 QTcpServer类与QTcpSocket类TCP(Transmission Control Protocol)是一种被大多数Internet网络协议(HTTP与FTP)用于数据传输的低级网络协议,它是可靠的、面向连接的、面向流的数据传输协议,特别适合连续数据的传输。QT中TCP通信过程!!!!!!!实现TCP通信必须要先建立TCP连接,通信端分为客户端和服务器端。连接的建立...原创 2020-04-15 15:35:26 · 782 阅读 · 0 评论 -
Qt网络编程之获取主机信息
1 QHostInfo类QHostInfo类用于获取主机的一些网络信息。QHostInfo类有下面这些公有函数:[static] QString QHostInfo::localHostName();[static] QHostInfo QHostInfo::fromName(const QString &name);[static] QString QHostInfo::loc...原创 2020-04-14 22:57:38 · 520 阅读 · 0 评论