簡體   English   中英

如何為跨平台Qt應用程序指定等寬字體?

[英]How to specify monospace fonts for cross platform Qt applications?

是否有一種獨立於平台的方式來為Qt小部件指定固定寬度的字體?

如果我在Linux上的Designer中將字體設置為“Monospace”,則在Windows上找不到它,而是使用Arial。

您可以使用QFont的樣式提示屬性:

QFont font("Monospace");
font.setStyleHint(QFont::TypeWriter);

如果找不到該字體(在Windows上使用Monospace時會發生這種情況),Qt的字體匹配算法會嘗試查找與給定樣式提示相匹配的字體。

您可以使用QFontDatabase的systemFont(..)函數檢索系統的默認固定字體。 它在Qt 5.2中引入。

例:

const QFont fixedFont = QFontDatabase::systemFont(QFontDatabase::FixedFont)

對於所有接受Rich Text的小部件,您只需將其放入pre阻止,即<pre>This is my Text</pre> 然后它將使用系統monospace字體。

我在Linux和Windows上使用Qt中的Courier。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM