moa*_*ala 6 c++ user-interface qt qt-creator text-size
在Windows下使用QtCreator设计UI,并.ui
在MacOSX下移植相同的文件会导致设计中的某些文本部分非常小 - 实际上是HTML.它似乎来自QtCreator使用pt
而不是px
文本大小单位的事实,并且Windows和MacOSX下的默认屏幕分辨率完全不同.
有没有理由我没有得到更一致的结果?除了编辑每个pt
进px
,有什么解决办法?
谢谢.
根据经验,您不应在 Qt Designer/Creator 中手动指定控件的字体大小,因为这会导致出现问题。不一致的原因是不同平台使用不同的 DPI 设置(Windows 上为 96 dpi,Mac OS X 上为 72 DPI)。这会导致字体以不同的大小显示。
另外,您提到了 HTML。我假设您已经QTextEdit
使用内置编辑器在类似小部件中设置了一些 HTML 文本。当您在那里选择字体大小时,Qt Creator 将生成一些如下所示的 HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Sans'; font-size:11pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hello World</p></body></html>
正如你所看到的,它设置了一些font-size
属性,这确实令人讨厌。解决这个灾难的一个简单、容易的方法是完全删除这些style=
属性。这会导致QTextEdit
使用默认的应用程序字体(这在所有平台上都应该没问题):
<html><head></head><body><p>Hello World</p></body></html>
顺便说一句,这对翻译人员来说更加友好,因为他们不必费尽心思地处理所有无用的 CSS。
不幸的是,Qt 的 QTextEdit 不支持“百分比”字体大小规范(仅 px 和 pt)。如果是这样,您可以使用“90%”之类的东西来使文本小于默认字体,同时仍然安全。
另一种选择是 QWebView,您可以将其设置为可编辑。这允许良好的文本格式,同时拥有完整的 CSS 子集。但这可能有点矫枉过正了。
希望有帮助!