[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 绿黄色
相关推荐
yyqzjw1 小时前
【qt】控件篇(Enable|geometry)
开发语言·qt
csdn_kike1 小时前
QT Unknown module(s) in QT 以及maintenance tool的更详细用法(qt6.6.0)
开发语言·qt
西西弗Sisyphus1 小时前
Qt 获取当前系统中连接的所有USB设备的信息 lsusb版
qt
kaixin_learn_qt_ing4 小时前
Qt---双缓冲绘图
qt
西西弗Sisyphus8 小时前
Qt 监控USB设备的插入和移除
qt
怀澈1228 小时前
QT之QString常用函数
开发语言·qt
zanglengyu9 小时前
RK3568硬解码并与Qt界面融合显示深入探究
开发语言·qt·ffmpeg·rk3568硬解码rtsp
doll ~CJ10 小时前
定时器(QTimer)与随机数生成器(QRandomGenerator)的应用实践——Qt(C++)
c++·qt·计时器与随机数生成器运用·图片循环播放
学习路上_write13 小时前
FPGA/Verilog,Quartus环境下if-else语句和case语句RT视图对比/学习记录
单片机·嵌入式硬件·qt·学习·fpga开发·github·硬件工程
charlie11451419114 小时前
Qt Event事件系统小探2
c++·qt·拖放·事件系统