[Qt学习笔记]Halcon窗口界面上显示文字的字体尺寸、样式修改

1、查看Halcon帮助文档

养成良好的查资料习惯,可以实现事半功倍。

1.1 Halcon12和Halcon20不同版本的帮助有所不同

在Halcon12中,有set_font和set_display_font两个算子,其中set_display_font是本地函数形式,所以最终的实现算子为set_font.
按照不同的系统环境下,使用方法略有不同:
WinSystem.PNG

LinuxSystem.PNG

OSsystem.PNG
不同的系统下使用的方法不同,原本以为比较简单,直接按照文档的example来设定就行,但是win下的字体比较多,这种方法可行,其他的系统下未必有指定的Font类型,所以我在Linux下一直提示的Font类型错误;
再翻一下最新版Halcon20版本的文档
新版介绍简单了很多,如果只修改字体,直接使用set_system(‘default_font’,Font)设置默认字体就行,这里还进行提示,根据不同的系统,获取支持的字体进行设置,最后给出了比较简洁的example做参考。
4.PNG

5.PNG

6.PNG

1.2在win和LINUX下用Qt实现字体修改

根据之前的帮助文档,可以在Qt下实现字体修改

    //设定Halcon窗口文字字体HTuple hv_OS;GetSystem("operating_system",&hv_OS);if(hv_OS.TupleSubstr(0,2) == HTuple("Win")){//方法一:直接设置Font参数QString Font_win = "-Arial-10-*-1-*-*-1-";QByteArray ba = Font_win.toLocal8Bit();const char *string = ba.data();SetFont(hv_WindowHandleCurrent,string);}else if(hv_OS.TupleSubstr(0,4) == HTuple("Linux")){//方法二:获取系统下的字体,选择第一个加载使用HTuple hv_Font,hv_FontWithSize;QueryFont(hv_WindowHandleCurrent,&hv_Font);hv_FontWithSize = HTuple(hv_Font[0]) + "-40";SetFont(hv_WindowHandleCurrent,hv_FontWithSize);}

由于在Linux下设置了好几种字体都显示错误,所以直接使用第二种方法,获取Linux支持的字体进行设置。
根据上述方法设定的效果如下
7.PNG

1.3相关实现Demo程序

Halcon窗口显示文字字体修改

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/757088.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android Studio实现内容丰富的安卓医院医生招聘平台

获取源码请点击文章末尾QQ名片联系,源码不免费,尊重创作,尊重劳动 项目编号120 1.开发环境android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端: 1.注册登录 2.查看公告 3.查看职位列表 4.收藏功能, 5.投递…

C#实战分享--爬虫的基础原理及实现

关注我,持续分享逻辑思维&管理思维; 可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导; 有意找工作的同学,请参考博主的原创:《面试官心得--面试前应该如何准备》,《面试官心得--面试时如何进行自…

rust - 将windows剪贴板的截图保存为png

本文提供了将windows系统的截图另存为png格式图片的方法。 添加依赖 cargo add clipboard-win cargo add image cargo add windows配置修改windows依赖特性 [dependencies] image "0.25.0"[target.cfg(windows).dependencies] windows "0.51.1" clipb…

ubuntu 如何使用阿里云盘

你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…

(简单成功)Mac:命令设置别名

案例:给"ls -l"命令,设置别名通过”ll“快速访问 1、在项目根目录底下查看有无.bash_profile文件,注意这个是个隐藏文件,需要使用ls -a命令查看: 没有.bash_profile新建一个文件, 在最后添加一行…

【C++】AVL树的两单旋和两双旋

目录 1. 新节点插入较高左子树的左侧---左左:右单旋 代码 2. 新节点插入较高右子树的右侧---右右:左单旋 代码 3. 新节点插入较高左子树的右侧---左右:先左单旋再右单旋 ​编辑 代码 4. 新节点插入较高右子树的左侧---右左:先…

Java基础知识总结(7)

StringBuffer类 StringBuffer类,线程安全的可变字符序列,初始化容量为16个字符。一个类似于String的字符串缓冲区,但是不能修改。 常用的是append和insert方法,可以重载,以接纳不同类型的参数类型 x.append("y") 等价于 insert(x…

(总结)OpenOFDM接收端信号处理流程

Overview — OpenOFDM 1.0 documentation 本篇文章为学习OpenOFDM之后的产出PPT,仅供学习参考。

Linux实践 - 命令行解释器 简易版

~~~~ 前言解决的问题为什么shell要以子进程的方式执行我们的命令?为什么直接使用程序名ls,而不是路径/usr/bin/ls? 头文件包含命令行提示符接受用户命令行输入解析用户的输入内建命令&&特殊处理ls 时目录等文件不带高亮颜色cd时目录不…

LabVIEW NV色心频率扫描

LabVIEW NV色心频率扫描 通过LabVIEW软件开发一个能够实现对金刚石氮空位(Nitrogen-Vacancy,NV)色心的频率扫描系统。系统通过USB协议与硬件设备通信,对NV色心进行高精度的频率扫描,满足了频率在2.6 GHz到3.2 GHz范围…

nginx搭建及部署

目录 一、nginx是什么? 二、安装部署 1.下载 2.配置 3.代理Swagger服务 4.nginx命令 一、nginx是什么? 是用于 Web 服务、反向代理、内容缓存、负载均衡、媒体流传输等场景的开源软件。它最初是一款专为实现最高性能和稳定性而设计的 Web 服务器。…

Laravel框架项目首页内容修改

#Laravel# 安装Laravel框架成功后运行项目&#xff0c;看到下面这个图就说明安装框架成功了 需要根据自己的需求修改页面时&#xff0c;先找到首页的文件 首页对应的页面文件为项目根目录下的resources/views/welcome.blade.php文件 <!DOCTYPE html> <html lang&quo…

C++特性三:多态---案例三(电脑组装)

案例描述&#xff1a; 电脑主要组成部件为 CPU&#xff08;用于计算&#xff09;&#xff0c;显卡&#xff08;用于显示&#xff09;&#xff0c;内存条&#xff08;用于存储&#xff09; 将每个零件封装出抽象基类&#xff0c;并且提供不同的厂商生产不同的零件&#xff0c;例…

Android 逆向(三)-adb常用逆向命令

Android 逆向(三)-adb常用逆向命令 本文主要介绍下逆过程中会用到的一些adb命令. 1: adb shell dumpsys dbinfo 该命令可以查看指定包名的数据库存储信息 用法: adb shell dumpsys dbinfo [pkgname] Applications Database Info:** Database info for pid 29729 [com.sohu…

npm install报错: https://registry.npm.taobao.org/: certificate has expired

npm安装依赖时&#xff0c;出现报错&#xff1a; https://registry.npm.taobao.org/: certificate has expired&#xff0c;这是因为之前设置过npm使用淘宝源&#xff0c;而淘宝源证书过期了。 解决方法——替换新的淘宝源 https://registry.npmmirror.com/ 打开终端 #查看 np…

网格bfs,LeetCode 2684. 矩阵中移动的最大次数

一、题目 1、题目描述 给你一个下标从 0 开始、大小为 m x n 的矩阵 grid &#xff0c;矩阵由若干 正 整数组成。 你可以从矩阵第一列中的 任一 单元格出发&#xff0c;按以下方式遍历 grid &#xff1a; 从单元格 (row, col) 可以移动到 (row - 1, col 1)、(row, col 1) 和…

GO-Gin-Example 第六部分 将Golang应用部署到Docker

文章目录 Dockerdocker相关部分知识docker安装winddows环境 本部分目标实现编写dockerfile拉取mysql镜像修改配置文件构建镜像验证镜像创建并运行容器,将golang容器和MySql容器关联挂载主机目录重新运行golang容器验证 Docker docker相关部分知识 runoob docker教程 同站友人…

Visual Studio 2013 - 调试模式下查看监视窗口

Visual Studio 2013 - 调试模式下查看监视窗口 1. 监视窗口References 1. 监视窗口 Ctrl Alt W&#xff0c;1-4&#xff1a;监视窗口 (数字键不能使用小键盘) or 调试 -> 窗口 -> 监视 -> 监视 1-4 调试状态下使用&#xff1a; 在窗口中点击空白行&#xff0c;…

如何在 Ubuntu 14.04 VPS 上添加和删除用户

简介 在新的 Linux 服务器上&#xff0c;你应该知道如何添加和删除用户是最基本的任务之一。当你创建一个新的服务器时&#xff0c;默认情况下只会给你 root 账户。 虽然这给了你很大的权力和灵活性&#xff0c;但也很危险&#xff0c;可能会造成破坏。通常最好的做法是添加一…

目标检测——PP-PicoDet算法解读

PP-YOLO系列&#xff0c;均是基于百度自研PaddlePaddle深度学习框架发布的算法&#xff0c;2020年基于YOLOv3改进发布PP-YOLO&#xff0c;2021年发布PP-YOLOv2和移动端检测算法PP-PicoDet&#xff0c;2022年发布PP-YOLOE和PP-YOLOE-R。由于均是一个系列&#xff0c;所以放一起解…