Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
QT:字体及其宽度_Qt - Fatal编程技术网

QT:字体及其宽度

QT:字体及其宽度,qt,Qt,我有固定大小的窗口,下面有文本标签。虽然我使用相同的字体,但windows、mac和linux上的字体看起来不同,以至于我无法依赖标签的结尾,即使字符串和字体大小在我的应用程序中是一个常量 有什么解决办法吗?有人提到嵌入TTF字体并使用它们,但这真的有必要吗?没有一种字体可以在所有平台上使用,不同字体的不同字符串的高宽比也会有所不同(固定宽度稍微好一点)。此外,即使使用相同的字体,不同的DPI设置也会让你头疼。我宁愿重新考虑你的小部件是否真的应该是固定大小的,你需要这些关于字体大小的假设。在几乎

我有固定大小的窗口,下面有文本标签。虽然我使用相同的字体,但windows、mac和linux上的字体看起来不同,以至于我无法依赖标签的结尾,即使字符串和字体大小在我的应用程序中是一个常量


有什么解决办法吗?有人提到嵌入TTF字体并使用它们,但这真的有必要吗?

没有一种字体可以在所有平台上使用,不同字体的不同字符串的高宽比也会有所不同(固定宽度稍微好一点)。此外,即使使用相同的字体,不同的DPI设置也会让你头疼。我宁愿重新考虑你的小部件是否真的应该是固定大小的,你需要这些关于字体大小的假设。在几乎所有情况下,您的UI都会更可用,如果您使用灵活的布局,并坚持平台建议的任何字体和字体大小,则可读性和与桌面的其他部分保持一致。

您可以使用它来保证跨平台的字体大小一致。

因为目标是防止一行文本标签画出窗口边界,一种解决方案是调整运行时使用的字体大小


QFontMetrics
提供了一系列调用,用于查找以给定字体绘制时文本字符串的间距。通过这些,您可以测试字符串是否适合空间。如果不合适,请减小字体大小并再次测试。

哎哟。我害怕这个答案。你想做什么取决于文本标签的结尾?我有一个固定大小的登录屏幕。我的标签不能从屏幕上消失,但它们会消失,因为我无法控制。有没有什么智能的方法可以测量标签在特定平台上的特定字体中所占的比例,以便动态修改窗口以适应它?