[Halcon学习笔记]在Qt上实现Halcon窗口的字体设置颜色设置等功能

1、 Halcon字体大小设置在Qt上的实现

在之前介绍过Halcon窗口显示文字字体的尺寸和样式,具体详细介绍可回看
(一)Halcon窗口界面上显示文字的字体尺寸、样式修改

当时介绍的设定方法

复制代码
        //Win下
        QString Font_win = "-Arial-10-*-1-*-*-1-";
       //这里也可以Font_win = "-Arial-10";
        QByteArray ba = Font_win.toLocal8Bit();
        const char *string = ba.data();
        SetFont(hv_WindowHandleCurrent,string);
        //Linux下
         HTuple hv_Font,hv_FontWithSize;
        QueryFont(hv_WindowHandleCurrent,&hv_Font);
        hv_FontWithSize = HTuple(hv_Font[0]) + "-40";
        SetFont(hv_WindowHandleCurrent,hv_FontWithSize);

最近在使用过程中发现一个问题,在不同模式下设置的不同;

复制代码
在Debug下
Font_win = "-Arial-10";
//在Release下
Font_win = "-Arial-10-";

如果要设置斜体,加粗等效果,Release下要严格按照SetFont的先后次序进行设定,不能缺省,不然会出现报错的情况。

2、Halcon颜色设置在Qt上的实现

Halcon有多种颜色选择,其算子介绍上也有具体展示,

上面表格每一种颜色都对应了不同的透明度,所以在Halcon中可以使用其16进制的代码来指代颜色

复制代码
//Halcon下,红色半透明
dev_set_color('#ff000080')
//Qt下Debug模式,蓝色半透明
SetColor(hv_Window,"#0000ff80");

但是在Qt的Release下不能使用十六进制来代替颜色设定,只能设定具体的颜色,

color 颜色 color 颜色 color 颜色 color 颜色 color 颜色
black 黑色 white 白色 red 红色 green 绿色 blue 蓝色
dim gray 暗灰色 gray 灰色 light gray 浅灰 cyan 青色 magenta 品红
yellow 黄色 medium slate blue 中石板蓝 coral 珊瑚 slate blue 石板蓝 spring green 春绿
orange red 橙红色 dark olive green 深橄榄绿 pink 粉色 cadet blue 学员蓝色 goldenrod 金黄
orange 橘色 gold 金色 forest green 森林绿 cornflower blue 矢车菊蓝色 navy 海军蓝
turquoise 绿松石 dark slate blue 深石板蓝 light blue 浅蓝 indian red 印度红 violet red 紫红色
light steel blue 轻钢蓝色 medium blue 中蓝色 khaki 卡其色 violet 紫色 firebrick 耐火砖
midnight blue 午夜蓝 sea green 海绿色 dark turquoise 深绿松石 orchid 兰花 sienna 赭色
medium orchid 中等兰花 medium forest green 中等森林绿 medium turquoise 中等绿松石 medium violet red 中紫红色 salmon 三文鱼
blue violet 紫罗兰色 tan 棕褐色 pale green 淡绿色 sky blue 天蓝色 medium goldenrod 中等金黄
plum 李子 thistle 蓟色 dark orchid 深色兰花 maroon 栗色 dark green 深绿色
steel blue 钢蓝色 medium spring green 中春绿 medium sea green 中海绿 yellow green 黄绿色 edium aquamarine 中等海蓝宝石
lime green 石灰绿 aquamarine 蓝晶色 wheat 小麦色 green yellow 绿黄色
相关推荐
醇醛酸醚酮酯14 分钟前
Qt项目锻炼——TODO(五)
开发语言·qt
沙振宇7 小时前
【Qt 学习之路】Qt Android开发环境搭建:Ubuntu的Vmware虚拟机中的踩坑实录
android·qt·学习
鸥梨菌Honevid7 小时前
QT解析文本框数据——概述
数据库·qt·mysql
给自己记录用7 小时前
qt笔记(1)——Qtablewidget使用
笔记·qt
AI+程序员在路上10 小时前
Qt6中模态与非模态对话框区别
开发语言·c++·qt
哈市雪花17 小时前
相机:以鼠标点为中心缩放(使用OpenGL+QT开发三维CAD)
qt·相机·opengl·cad·缩放·工业软件·渲染效果
Tony小周20 小时前
实现一个点击输入框可以弹出的数字软键盘控件 qt 5.12
开发语言·数据库·qt
雨落倾城夏未凉1 天前
8.Qt文件操作
c++·后端·qt
TechNomad1 天前
Qt开发:QtConcurrent介绍和使用
qt
十秒耿直拆包选手2 天前
Qt:主窗体(QMainwindow)初始化注意事项
c++·qt