Qt stylesheet border-color属性,QFontMetrics Class

2024-02-07 23:18

本文主要是介绍Qt stylesheet border-color属性,QFontMetrics Class,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、border-color

border-color 属性设置四条边框的颜色。此属性可设置 1 到 4 种颜色。

border-color 属性是一个简写属性,可设置一个元素的所有边框中可见部分的颜色,或者为 4 个边分别设置不同的颜色。请看下面的例子:

border-color:red green blue pink;
  • 上边框是红色
  • 右边框是绿色
  • 下边框是蓝色
  • 左边框是粉色
border-color:red green blue;
  • 上边框是红色
  • 右边框和左边框是绿色
  • 下边框是蓝色
border-color:dotted red green;
  • 上边框和下边框是红色
  • 右边框和左边框是绿色
border-color:red;
  • 都为红色边框

二、QTextEdit文字修改行距

QTextDocument *doc =  ui->textEdit_label->document();
QTextCursor textcursor = ui->textEdit_label->textCursor();
for(QTextBlock it = doc->begin(); it !=doc->end();it = it.next())
{QTextBlockFormat tbf = it.blockFormat();tbf.setLineHeight(lineSpacing,QTextBlockFormat::LineDistanceHeight);textcursor.setPosition(it.position());textcursor.setBlockFormat(tbf);ui->textEdit_label->setTextCursor(textcursor);
}

三、想要根据文字字数,适配控件背景长度,所以需要计算字符串个数,以及单个字符宽度

如果程序不支持中文,需要设置编码

QTextCodec *codec = QTextCodec::codecForName("System"); //获取系统编码
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);

int tlength = msg.toLocal8Bit().length();//计算英文字符数

msg="中"  tlength = 2

msg="Qt" tlength = 2

四、Qt 中获取字体的像素高度和宽度

QLabel::fontMetrics().width(QString s): 获取字符串s的总像素宽度。

int QFontMetrics::width ( const QString & text, int len = -1 ) const

Returns the width in pixels of the first len characters of text. If len is negative (the default), the entire string is used.Note that this value is not equal to boundingRect().width(); boundingRect() returns a rectangle describing the pixels this string will cover whereas width() returns the distance to where the next string should be drawn.

See also boundingRect().

返回文本的第一个len字符的宽度(以像素为单位)。如果“len”为负(默认值),则使用整个字符串。
请注意,该值不是等于boundingrect()。width();boundingrect()返回一个矩形,描述该字符串将覆盖的像素,而width()返回应绘制下一个字符串的距离。
另请参见boundingrect()。

QLabel::fontMetrics().height(): 获取字体的高度。

int QFontMetrics::height () const
Returns the height of the font.

This is always equal to ascent()+descent()+1 (the 1 is for the base line).

See also leading() and lineSpacing().

QLabel::fontMetrics().lineSpacing(): 获取字体的高度,包括文字的实际宽度和行距。

int QFontMetrics::lineSpacing () const
Returns the distance from one base line to the next.

This value is always equal to leading()+height().

See also height() and leading().

QLabel::fontMetrics().leading(): 行间距

int QFontMetrics::leading () const
Returns the leading of the font.This is the natural inter-line spacing.

See also height() and lineSpacing().

 

这篇关于Qt stylesheet border-color属性,QFontMetrics Class的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/689220

相关文章

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

【QT】基础入门学习

文章目录 浅析Qt应用程序的主函数使用qDebug()函数常用快捷键Qt 编码风格信号槽连接模型实现方案 信号和槽的工作机制Qt对象树机制 浅析Qt应用程序的主函数 #include "mywindow.h"#include <QApplication>// 程序的入口int main(int argc, char *argv[]){// argc是命令行参数个数,argv是

三色标记(Tri-color marking)

维基百科部分 原文 https://en.wikipedia.org/wiki/Tracing_garbage_collection#TRI-COLOR Because of these performance problems, most modern tracing garbage collectors implement some variant of the tri-color ma

Python QT实现A-star寻路算法

目录 1、界面使用方法 2、注意事项 3、补充说明 用Qt5搭建一个图形化测试寻路算法的测试环境。 1、界面使用方法 设定起点: 鼠标左键双击,设定红色的起点。左键双击设定起点,用红色标记。 设定终点: 鼠标右键双击,设定蓝色的终点。右键双击设定终点,用蓝色标记。 设置障碍点: 鼠标左键或者右键按着不放,拖动可以设置黑色的障碍点。按住左键或右键并拖动,设置一系列黑色障碍点

使用Qt编程QtNetwork无法使用

使用 VS 构建 Qt 项目时 QtNetwork 无法使用的问题 - 摘叶飞镖 - 博客园 (cnblogs.com) 另外,强烈建议在使用QNetworkAccessManager之前看看这篇文章: Qt 之 QNetworkAccessManager踏坑记录-CSDN博客 C++ Qt开发:QNetworkAccessManager网络接口组件 阅读目录 1.1 通用API函数

HTML5自定义属性对象Dataset

原文转自HTML5自定义属性对象Dataset简介 一、html5 自定义属性介绍 之前翻译的“你必须知道的28个HTML5特征、窍门和技术”一文中对于HTML5中自定义合法属性data-已经做过些介绍,就是在HTML5中我们可以使用data-前缀设置我们需要的自定义属性,来进行一些数据的存放,例如我们要在一个文字按钮上存放相对应的id: <a href="javascript:" d

Qt多语种开发教程

Qt作为跨平台的开发工具,早已应用到各行各业的软件开发中。 今天讲讲,Qt开发的正序怎么做多语言开发。就是说,你设置中文,就中文显示;设置英语就英文显示,设置繁体就繁体显示,设置发育就显示法语等。 开发环境(其实多语种这块根环境没太大关系):win10,Qt.5.12.10 一.先用QtCreator创建一个简单的桌面程序 1.工程就随便命名“LanguageTest”,其他默认。 2.在设计师

Python中的属性装饰器:解锁更优雅的编程之道

引言 在Python的世界里,装饰器是一个强大的工具,它允许我们以一种非侵入性的方式修改函数或方法的行为。而当我们谈论“属性装饰器”时,则是在探讨如何使用装饰器来增强类中属性的功能。这不仅让我们的代码更加简洁、易读,同时也提供了强大的功能扩展能力。本文将带你深入了解属性装饰器的核心概念,并通过一系列实例展示其在不同场景下的应用,从基础到进阶,再到实际项目的实战经验分享,帮助你解锁Python编程

类型信息:反射-Class

在说反射前提一个概念:RTTI(在运行时,识别一个对象的类型) public class Shapes {public static void main(String[] args) {List<Shape> shapes = Arrays.asList(new Circle(), new Square(), new Triangle());for (Shape shape : shapes