问题标签 [qfont]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - windows和Linux中字体渲染的区别,Qt Cpp
我有,
QFontMetrics m_fm(QFont("Arial",14)); 和
m_fm.width("来自项目网络的现有 LAN IP 地址");
返回'297'(在windows上)
谁能告诉我它在linux编译器上返回什么?
如果它在 linux 上有所不同,那为什么会这样呢?
以及我们如何在 Windows 和 linux 上进行相同的字体渲染。
更新:
我有一个 QTableView 单元格,我在其中共同写入来自多个字符串的数据
,我必须在单行中显示 2 行中的数据。(使用 .append("\n"))。
假设列宽是 140,
所以我需要数据以适合单行的 140 像素
因此,我需要像素宽度小于 140 的数据,以便
它可以正确显示。在这种情况下,根据字体(Arial)
,我正在计算
m_fm.width("Existing LAN IP Address from Project Network");
但它在 Linux 中有所不同,因为 windows Arial 字体不可用。
是否有机会在 Linux 系统中不安装 Arial 字体的情况下
获得正确的像素宽度?
提前致谢 !
qt - QFontMetrics 给出等宽字体的奇怪结果
有人可以向我解释这个测试程序的结果吗?
用 Qt5.11 编译这段代码后,我得到了这样的结果:
这种等宽字体的一个字符“W”的大小是 11。我希望由 8 个这样的字符组成的字符串的大小应该是 88。但是 QFontmetrics::width 返回 92!
python - 为什么 QFontDialog.getFont() 总是返回相同的字体?
每次我QFontDialog.getFont()
用来获取字体时,它都会返回相同的QFont
对象。
上面是代码段,下面是结果(我做了不同的选择,但QLabel
我得到的字体和我得到的字体getFont()
总是一样的)。
更新:
以下是有关我的环境的一些信息:
- macOS 莫哈韦
- PyQt5
- 蟒蛇 3.6
我已经通过@ekhumoro 测试了代码,结果很奇怪:
c++ - 从 QFontDatabase::addApplicationFont 获取字体系列名称
我正在使用 QFontDatabase:addApplicationFont,它按预期工作,但我想从它加载的最后一个 ttf 文件中获取系列字体名称,因为它的预期用途是让用户使用他们指向的任何字体。
我主要想知道这在 QFont 中是否可行,或者我是否必须依赖不同的库。
python - 如何为小部件创建不同的字体大小但允许它们在 PySide2 中使用字体对话框进行缩放?
假设我有 3 个标签,每个标签都应该有不同大小的文本。检查此示例代码:
标有“字体”的按钮将打开一个标准的 Qt 字体对话框。当我运行它时,我可以看到当我通过对话框更改字体大小时,表格的标题和按钮中的文本会改变大小。但是具有固定字体大小的标签不会改变。如果我希望它们随着字体大小的变化而改变大小怎么办?如何“缩放”这些小部件的字体大小?
c++ - 设置 QFont 的颜色
我有一个“QGraphicsScene”场景并正在尝试使用
在场景中添加一些文本。有效。但是,我尝试更改文本颜色,但找不到设置“QFont”颜色的方法。我没有找到 'font.setColor' 类型的方法。
有什么建议吗?
qt - 为什么 QFontMetrics 提供的宽度与 Qml Rectangle/Text 显示的宽度不匹配
我编写了一个 qml 和 cpp 文件来验证和可视化 QFontMetrics 概念。
main.qml 文件
当我运行这个程序时,QFontMetrics 提供的宽度是:694。但是,在 qml 文件中为 Rectangle 和 Text 设置的宽度是 642,并且也设置了 elide 属性。有了这个逻辑(如 694 > 642),我应该会看到截断。但没有看到截断。
请参考 qml 输出
为什么是这样?无法理解。
c++ - QApplication setFont() 和 QTimer
当我为 Qt 应用程序设置字体时,它对在QTimer
'stimeout()
信号上执行的代码部分没有影响。
主文件
主窗口.h
主窗口.cpp
此代码的输出:
但是当我添加一些代码时
一切正常:
它看起来像主线程并且QTimer
使用不同QCoreApplication::instance
,但我检查qApp->applicationPid()
过,它是相同的。
是否可以一次为所有应用程序设置相同的字体?
UPD:我刚刚注意到,Qt 5.14.1 存在问题,该版本目前在 Gentoo Linux 上是默认的。
使用 Qt 5.12.8,使用“调试”选项从源代码编译,它可以正常工作。
c++ - 从 QFontDatabase 设置 QFont 将所有标签设置为等宽字体?Qt C++
我正在尝试将一个 QLabel 设置为等宽字体。默认情况下,我在设计器中将所有其他标签设置为“Arame-Regular”。通常,尝试在设计器中将我的任何标签设置为“Arame-Mono”(等宽字体)都不起作用。他们保持规律。
在我的 mainwindow.cpp 中的这段代码之后,应用程序中的每个标签都变为等宽:
这解决了部分问题,我猜可以使用等宽字体,但我不希望应用程序中的每个标签都设置为等宽字体。我怎样才能只处理这个特定的标签来应用等宽字体,并保持所有其他标签的原样?
另一个副作用是我在启动时收到此消息:
我都在我的 Mac 上本地安装了字体并添加到我的 .pro 文件中。字体位于项目目录内的字体文件夹中:
任何帮助表示赞赏!