- 博客(83)
- 资源 (2)
- 收藏
- 关注
原创 外层repeater嵌套内层repeater,如何在内层repeater访问外层repeater的第几个
注意是在外层repeater里的delegate里面定义。
2024-10-29 13:59:50
186
1
原创 下列软件包有未满足的依赖关系: libxcb-shm0-dev : 依赖: libxcb-shm0 (= 1.13-1) 但是 1.13-2~ubuntu18.04 正要被安装 E: 无法修正错误,
如果上述步骤不能解决问题,尝试安装 libxcb-shm0-dev 而不指定版本。更新软件包列表,确保你的系统知道所有可用的软件包版本。尝试安装 libxcb-shm0 的正确版本。
2024-10-15 13:58:19
264
原创 在ubuntu系统中,如何让其按下物理关机键时,系统不处理,但qt程序能检测到关机键按下的事件,并处理信号
Qt 本身不直接提供对硬件电源键事件的监听,但你可以通过监听 Linux 输入设备(如 /dev/input/event*)来捕获按键事件。使用 evdev 或其他低级别的输入事件库可以帮助你监听这些硬件事件。不同设备的电源键事件文件可能不同,通常位于 /dev/input/event*。观察哪个 /dev/input/eventX 文件与电源键按下对应,然后将此文件路径应用到你的 Qt 程序中。你可以在 Qt 程序中通过 libevdev 来监听事件。2.3 确定电源键设备文件。保存文件并退出编辑器。
2024-09-27 13:51:25
590
原创 在qml的js中,如何定义一个list,如何清空list,如何查询list是否含有指定元素,如何追加
在 QML 的 JavaScript 环境中,你可以使用 JavaScript 数组(Array)来定义一个列表(list),并执行各种操作,如清空列表、查询列表是否包含指定元素以及追加元素。
2024-09-11 15:36:59
325
原创 在qt中,用户输入了16进制的字符串,如何按照用户的16进制格式发送
在这个例子中,我们首先从用户输入中获取了16进制字符串,然后使用QByteArray::fromHex将其转换为字节流。接着,我们创建了一个QUdpSocket对象,并设置了目标地址和端口。将16进制文本转换为字节流:使用QByteArray::fromHex函数可以将16进制的字符串转换为字节流。例如,如果你的用户输入了"01 03 00 00",你需要去除空格并转换为字节流。获取用户输入的16进制文本:首先,你需要从用户界面获取用户输入的16进制字符串,例如通过一个QLineEdit控件。
2024-09-04 09:01:13
676
原创 用命令行工具(nmcli)模仿ubuntu21图形界面的热点功能
这里,con-name 是你为热点定义的名称,ifname 是你的无线接口名称,ssid 是热点的网络名称,802-11-wireless.mode ap 设置模式为接入点,ipv4.method shared 允许共享有线连接的互联网,wifi-sec.key-mgmt wpa-psk 设置 WPA/WPA2 PSK 安全模式,wifi-sec.psk 设置密码。现在,你可以使用其他设备搜索 WiFi 网络,并连接到你创建的热点 MyHotspot。首先,你需要确定你的无线网络接口的名称。
2024-08-23 15:19:53
705
原创 qt虚拟键盘输入nss会崩溃和qt虚拟键盘的编译教程来啦
在qt安装目录上到源码,最好单独拿出来,没有的从qt官网下载,修改如图,注释掉断言。若是交叉编译arm的也是如此,最后生成的库主要有三个,分别是。3、继续在该工程目录下执行make install安装在qt安装目录。若是交叉编译arm的把这三个库放在对应设备的环境变量目录下即可。重新编译qt虚拟键盘的源码就可以了,如何编译?2、继续在该工程目录下执行make。
2024-07-16 14:52:45
402
2
原创 在ubuntu中恢复误删除的文件
选择【EFI GPT】回车,选择【2 P MS Data】最下面就有【undelete】选中回车,然后就有已删除过的文件,从中寻找你想恢复的文件。5、选中恢复的文件后按c复制,会跳到选择输出目录的界面,选一个路径,输出最好不要选同一个分区的,可以输出到其他分区,完成恢复。选Create或 No Log都行,回车,选择你要恢复文件那个磁盘分区,回车。2、查询你删除的文件所在那个分区。3、查询该分区是什么系统类型。1、安装 TestDisk。4、打开工具,进入工具界面。
2024-06-13 16:49:00
3003
原创 查看ubuntu中的分区是什么类型的
使用 lsblk 或 fdisk 列出所有分区,确认你需要恢复文件的分区路径。输出会显示所有磁盘和分区信息。确保你选择了正确的分区。
2024-06-13 14:37:35
809
原创 windows的软件修改图标
要修改一个可执行文件(.exe)的图标,你可以使用 Resource Hacker 这样的工具。3、在 Resource Hacker 菜单上选择 “File”,然后点击 “Open”,选择要修改图标的 .exe 文件。不要修改他人拥有版权的文件图标,除非你有相应的授权或许可。4、在 Resource Hacker 左侧的树形视图中,展开 “Icon” 节点,找到你想要修改的图标。6、在弹出的对话框中,选择一个新的图标文件(.ico 格式),然后点击 “Open”。
2024-06-03 15:18:35
4492
原创 在ubuntu上创建WiFi热点
要在 wlan0 无线网卡上发射热点(即创建 WiFi 热点),可以使用 hostapd 和 dnsmasq 这两个工具。hostapd 用于创建热点,而 dnsmasq 用于提供 DHCP 和 DNS 服务,以便连接到热点的设备可以获取 IP 地址并访问互联网。注意:这时候dnsmasq 默认监听53端口的,很容易和systemd-resolved端口冲突,可以用这个命令查一下。wpa_pairwise 和 rsn_pairwise: 设置加密算法。wpa_passphrase: 设置热点的密码。
2024-05-14 15:30:45
1750
5
原创 在qt的多线程编程中,如果有很多地方使用到共享变量,共享变量也很多,怎么保护起来?
在 Qt 的多线程编程中,如果有很多地方使用到共享变量,而共享变量也很多,为了保护共享变量,防止数据竞争(data race)和不一致性,需要使用适当的同步和互斥机制。Qt 提供了一些常用的同步工具,如互斥锁(mutex)、读写锁(read-write lock)和原子操作(atomic operations)等。如果某个共享变量的读操作较多,而写操作较少,可以使用 QReadWriteLock 类来优化锁定操作。这些类的操作是原子的,可以直接对共享变量进行原子操作,而无需使用锁。
2024-04-13 10:58:58
493
原创 ubuntu虚拟机扩展容量后,无效,其实还需要分配
参考这位大佬:https://www.cnblogs.com/learningendless/p/17718003.html。会被锁住,无法调整,按照大佬步骤做,亲测有效。如果直接使用磁盘调整大小会发现有钥匙。
2024-03-26 15:26:32
562
原创 rk3568使用pulseaudio偶现没声音问题
看过别人的文章,参考https://blog.youkuaiyun.com/JuezhuBird/article/details/128152703感觉还是不行。
2024-03-19 10:45:59
598
原创 ubuntu开机启动时,如何随着ubuntu的启动指定qt程序使用普通用户运行?
请注意,这种方法适用于在用户登录后启动QT程序,因为/etc/xdg/autostart目录中的启动项通常在用户登录到桌面环境后执行。如果您需要在用户登录之前或在后台运行程序,可能需要使用其他方法,例如在/etc/rc.local或systemd服务中添加启动命令。设置执行权限:确保/path/to/your/qt/application是您QT程序的实际路径,并且该程序具有可执行权限。自动登录:如果您希望在系统启动后自动登录到桌面环境,可以在系统设置中启用自动登录功能。
2024-03-16 10:59:57
753
原创 ubuntu开机启动时,如何随着ubuntu的启动指定qt程序使用指定用户运行?使用指定用户需要自动输入该用户的密码
在这个示例中,你需要将 /path/to/your/qt/program 替换为你的 Qt 程序的实际路径,将 your_target_user 替换为你要指定运行的目标用户,将 Your_User_Password 替换为目标用户的密码。创建一个启动脚本,内容应该包括启动 Qt 程序的命令以及自动输入用户密码的代码。完成以上步骤后,你的 Qt 程序应该会随着 Ubuntu 的启动以指定用户的身份自动运行,并自动输入用户密码。将启动脚本添加到 Ubuntu 的启动程序中。确保启动脚本具有执行权限。
2024-03-16 10:52:51
688
原创 什么是framebuf架构
在嵌入式系统中,framebuffer通常是通过内存模拟出来的,因为这样的系统可能没有真正意义上的显存。Framebuffer的主要功能是向应用层提供一个统一标准接口的显示设备。它将显示设备的硬件结构抽象为一系列的数据结构,应用程序通过framebuffer的读写直接对显存进行操作。用户可以将framebuffer看成是显存的一个映像,将其映射到进程空间后,就可以直接进行读写操作,写操作会直接反映在屏幕上。Framebuffer的优势在于它提供了一个统一的接口,使得应用程序可以不依赖于具体的硬件显示设备。
2024-02-26 17:31:06
457
原创 Qt 应用程序中指定使用桌面版本的 OpenGL或嵌入式系统OpenGL ES的 API 进行渲染
no-angle 和 -angle 是与 OpenGL ES 2.0 的支持和兼容性相关的选项,其中 -angle 允许 Qt 通过 DirectX 的渲染 API 来进行渲染,以兼容不支持 OpenGL ES 2.0 但支持 OpenGL 1.5 或 DirectX 9.0 的设备。在这个例子中,环境变量 QT_OPENGL 被设置为 “desktop”,这意味着 Qt 应用程序将使用桌面版本的 OpenGL API 进行渲染,而不是嵌入式系统版本(OpenGL ES)。
2024-02-24 16:14:01
1630
原创 如何让qml使用opengl es
请注意,具体的配置可能会因您的项目和平台而有所不同。3、在 QML 文件中使用 OpenGL ES:在 QML 文件中,您可以使用 ShaderEffect 或 OpenGL 元素来编写 OpenGL ES 代码。要让 QML 使用 OpenGL ES,您需要确保项目配置正确,并在应用程序中使用 QSurfaceFormat 来设置 OpenGL ES 渲染。2、在应用程序中设置 OpenGL ES 渲染:在启动应用程序的代码中,使用 QSurfaceFormat 来设置 OpenGL ES 渲染。
2024-02-22 10:58:43
1279
原创 qml ShaderEffect默认用OpenGL es还是OpenGL?
综上所述,QML的ShaderEffect组件会根据当前运行环境的支持情况选择使用OpenGL ES或OpenGL。在开发过程中,了解目标平台的图形API支持情况是非常重要的,以确保ShaderEffect能够正常工作并发挥最佳性能。QML的ShaderEffect组件默认使用的是OpenGL ES还是OpenGL,主要取决于。
2024-02-22 09:57:53
872
原创 qt程序中,如何做才能用到OpenGL ES图形api
综上所述,通过上述方法,您可以在Qt程序中有效地使用OpenGL ES图形API,实现高性能的图形渲染。
2024-02-22 09:32:31
1392
原创 qt creator5.15.2用的是什么版本的图形api?
Qt Creator是一个跨平台的集成开发环境(IDE),主要用于Qt应用程序的开发。在Qt 5.15 LTS版本中,Qt框架本身提供了丰富的模块和API来支持图形渲染,包括对OpenGL ES的支持。此外,Qt Creator还支持其他工具和插件,比如Qt Design Studio UI设计工具,这些工具可能也会有自己特定的图形API需求。总之,Qt Creator作为一个多面手的开发环境,其图形API的使用取决于开发者选择的Qt版本和目标平台。Qt Creator 5.15.2 使用的图形API。
2024-02-22 09:25:23
725
原创 如何查看应用程序是否用了gpu
在运行应用程序前,在ubuntu终端输入export QSG_INFO=1,然后运行你的应用程序,过会就会打印用到的gpu信息。
2024-02-21 16:13:00
895
原创 如何查看rockchip 3568是否有gpu
综上所述,通过上述方法,您应该能够确认您的Rockchip 3568是否具有GPU,以及它的具体型号和性能特点。
2024-02-21 14:52:35
915
原创 在qml中的ShaderEffect在arm板的3568的系统上是用GPU渲染的吗
例如,如果设备是一个搭载 ARM 处理器的系统,如你提到的 arm 板的 3568 系统,那么是否使用 GPU 渲染还取决于该系统的 GPU 是否支持必要的图形API(如 OpenGL ES)。此外,为了确保 ShaderEffect 能够正常工作,开发者需要具备一定的图形学知识,了解 GPU 渲染管线以及图形 API(如 OpenGL、DirectX)的基本原理。ShaderEffect 是 Qt Quick 提供的一个功能强大的组件,它允许开发者在 QML 层面实现像素级别的操作。
2024-02-21 14:01:00
764
原创 如何知道该Ubuntu系统的 GPU 是否支持必要的图形API(如 OpenGL ES)
如果您的GPU不支持所需的图形API,那么在使用ShaderEffect时可能会遇到性能问题或无法正常工作的情况。1、查看系统信息:在终端中输入lspci -k | grep -EA3 ‘VGA|3D|Display’,这将显示显卡的详细信息以及它所使用的驱动。4、使用专门的软件工具:有些软件工具如GPU-Capabilities Viewer可以提供详细的GPU信息,包括支持的OpenGL版本。3、查询硬件规格:访问GPU制造商的官方网站或者查阅购买时的文档,了解GPU的规格和兼容性。
2024-02-21 13:58:52
844
原创 3586芯片的Ubuntu系统的 GPU 是否支持必要的图形API(如 OpenGL ES)
请注意,在某些情况下,如果您的GPU型号较旧或驱动程序版本过时,可能存在兼容性问题。在这种情况下,您可能需要更新或重新安装驱动程序,或者考虑使用其他适合您的硬件的替代方案。3586芯片的Ubuntu系统通常支持GPU,并且通常支持必要的图形API,如OpenGL ES。在Ubuntu系统中,您可以通过检查GPU驱动程序是否已安装以及它们的版本来确认是否支持所需的图形API。此命令将显示与VGA相关的设备列表,其中包括您的GPU。如果您的GPU驱动程序已安装并可用,您将看到有关它们的版本信息。
2024-02-21 13:56:32
749
原创 temporary failure resolving “xxx“问题解决ubuntu设置dns
出现temporary failure resolving "xxx"或temporary failure in name resolution就是ubuntu没设置dns。此文件有可能是不存在的,新建一个,然后按照下面文字替换自己的ip和网关即可。
2024-02-02 15:57:16
929
原创 ubuntu系统中,什么情况会发生内存交换(Swap)
内存交换,也称为页面交换(Paging),是操作系统用来管理内存的一种技术。当系统运行时物理内存(RAM)不足以容纳所有正在运行的进程和数据时,操作系统会将部分不经常访问的数据从物理内存移动到硬盘上的一个特定区域,即交换空间(Swap Space)。这样做的目的是释放物理内存空间,以便给当前需要更多内存的进程或操作使用。综上所述,Ubuntu系统中的内存交换主要发生在物理内存不足时,通过将不活跃的内存页面移动到Swap空间来释放物理内存,确保系统能够继续运行而不致因内存耗尽而崩溃。
2024-02-01 13:42:46
865
原创 在ubuntu的qt中,在代码中遇到rm: cannot remove ‘/home‘:Directory not empty
试了很多办法,无论是sudo rm -rf xxx也是没用。但是在终端上输入删除命令却轻而易举的删除了。最后只能mv到另一个地方再删除它即可。
2024-02-01 11:27:50
581
原创 在qml中,loader创建的组件,此时当loader的souceComponet变了其他组件,那么之前创建的组件还在吗?
在这个例子中,初始时 Loader 加载的是蓝色的矩形,带有文字 “Initial Component”。当鼠标点击时,Loader 的 sourceComponent 被切换为红色的矩形,带有文字 “New Component”。在切换时,之前加载的蓝色矩形会被销毁,而新加载的红色矩形会取而代之。在 QML 中,当 Loader 的 sourceComponent 属性变更为其他组件时,之前创建的组件会被销毁。这是因为 Loader 负责加载和卸载不同的组件。
2024-01-13 16:02:55
494
原创 在qml中,ListModel可以与WorkerScript一起使用,从多个线程访问列表模型
工作线程通过WorkerScript执行,通过发送消息来更新主线程中的ListModel。在工作线程中,我们使用JavaScript来生成一些数据,并通过消息将数据发送回主线程,然后在主线程中更新ListModel。此示例创建一个WorkerScript,该脚本在收到启动消息时开始工作线程,并模拟生成数据并发送回主线程的过程。请确保将这两个文件添加到您的项目中,并将其一起运行以查看多线程访问列表模型的效果。现在,我们还需要一个名为worker.js的文件,其中包含工作线程的实际逻辑。
2024-01-13 15:43:42
542
转载 QML如何使用新线程——thread 内部线程使用基于信号槽机制
QML 的线程适合处理一些小工作量的或者短暂的工作内容,相对于 QThread 而言还是有很大的差距,胜在简单易用直接嵌入到 QML 之中,如果有复杂的工作内容还是建议使用传统的 C++ / QThread 进行处理。2 创建 xxx.mjs //注意格式,是 xxx.mjs 这是 ECMAScript 格式能够确保线程运行在一个安全独立的环境,使用 .js 会使用 JavaScript 引擎相对环境不太严格安全。//id 是你定义的线程 id 也就是 workerscript 内的。
2023-12-30 17:27:11
290
原创 如果您在 Ubuntu 上完成了交叉编译,并希望将程序部署到目标设备上运
请注意,上述步骤是一个一般性的指导,具体步骤可能因不同的目标设备和情况而有所不同。在实际部署过程中,请参考目标设备的文档和指南,以确保正确地将程序部署到目标设备上。请注意,在复制和运行可执行文件之前,确保目标设备上已安装与程序所需的库和依赖项相匹配的运行时环境。在执行上述命令时,您需要提供目标设备上的用户名和密码,以完成文件传输。完成文件复制后,您可以通过在目标设备上的终端中导航到可执行文件所在的目录,并运行该程序。根据目标设备的具体情况,您可能还需要设置其他配置、路径或环境变量,以确保程序正确运行。
2023-12-23 09:40:50
704
基于minigui与海思的视频播放器总结.docx
2020-08-25
基于minigui与海思的视频播放器总结.docx
2020-08-24
qt qml程序运行在rockchip 3568用不了GPU
2024-02-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人