当前位置: 首页 > article >正文

Qt——实现文本根据字体+控件长度自适应更改为:内容+...

作者:小 琛
欢迎转载,请标明出处

文章目录

    • 需求场景
    • 实现方式
    • 例子

需求场景

自定义了一个控件,该控件用来显示账号,但每个用户的账号信息是不同的。例如:xiaochen123456789@163.com,该长度已经超出了自定义控件的长度,因此需要针对这种情况进行处理,处理方式:超出部分,显示…,同时添加hover tips效果

实现方式

借助QFontMetrics类,结合自定义的字体QFont,结合elidedText接口,得到具体内容

例子

QString NCGSwitchAccountView::adjustText(const QString& text, const QFont& font, int width) {
	QFontMetrics fontMetrics(font);
	if (fontMetrics.width(text) > width) {
		return QFontMetrics(font).elidedText(text, Qt::ElideRight, width);
	}
	return text;
}

	// 使用
	QFont font("Microsoft YaHei, Microsoft Sans Serif");
	font.setPixelSize(14);

	m_accountLbl->setText(adjustText(account, font, 208));

http://www.kler.cn/a/410339.html

相关文章:

  • 网络层协议IP
  • 数据结构(Java版)第二期:包装类和泛型
  • vue3 reactive响应式实现源码
  • 软件/游戏提示:mfc42u.dll没有被指定在windows上运行如何解决?多种有效解决方法汇总分享
  • python继承和反射
  • HarmonyOS应用开发中的页面路由与数据传输
  • 机器学习-----变色龙算法(Chameleon Algorithm)
  • 大语言模型---LoRA简介;LoRA的优势;LoRA训练步骤;总结
  • 免费实用在线AI工具集合 - 加菲工具
  • 在 MySQL 记录操作日志,通常有几种方法可以实现。
  • 基于微信小程序的空巢老人健康管理系统
  • 基于Java Springboot个人健康管理系统
  • 3.STM32之通信接口《精讲》之IIC通信---MPU6050介绍
  • 【Linux】DHCP服务实验
  • 层次聚类(Hierarchical Clustering)详解
  • 如何将APK预置到Android系统
  • Java项目实战II基于微信小程序的图书馆自习室座位预约平台(开发文档+数据库+源码)
  • 《硬件架构的艺术》笔记(七):处理字节顺序
  • 基于Java Springboot干洗店预约洗衣系统
  • 正则表达式用于报文中日期时间的编程查找
  • MySQL索引优化与Java应用实践
  • OEM sql monitoring 类似SQL
  • 使用Ansible/SaltStack编写自动化运维脚本
  • 嵌套结构与树结构系列--1.三目运算与二叉树
  • ensp动态路由OSPF实验
  • java笔试练习题笔记(15)