2013-06-26 111 views
2

使用Qt設計器創建UI的文件有不同的尺寸,下面的問題出現了:Qt的字體在不同的系統

打開相同的UI文件在不同的Linux系統導致不同的字體大小的顯示。因此,在一個系統上創建的ui文件在使用另一個系統上的Qt Designer打開時可能會有太大的字體。這使得文本在許多情況下不可讀。兩個系統上的小部件的「點大小」是相同的,但爲了使兩者都可讀,我必須在當前的一個系統上手動減小Qt Designer中的點大小。 我可以做些什麼來確保所有系統上字體的可讀性?

使用的系統是SLES 10,SLES11,Debian。

+0

您是否爲Qt Designer中的小部件設置了自定義字體設置,還是使用默認字體? –

回答

3

我遇到過類似的問題。在我們的例子中,它必須處理本地Linux字體設置。由於我們無法強制世界上的所有計算機都使用相同的字體,我們會在應用程序中重寫字體。

QFont _Font("Tahoma", 8); 
QApplication::setFont(_Font); 

您應該在創建主窗口之前這樣做。

我知道的唯一風險是,如果您選擇的字體沒有安裝在電腦上,我相信它會回到默認值。

我希望有幫助。

1

使用void QFont :: setPixelSize(int pixelSize)而不是:: setPointSize。

使用此功能會使字體設備相關。使用setPointSize()或setPointSizeF()以獨立於設備的方式設置字體的大小。

0

我從Windows8遷移到Windows8,字體大小不匹配。 我試圖通過使用

QFont _Font("Tahoma", 8); 
_Font.setPixelSize(8); 
QApplication::setFont(_Font); 

它確實改變了一些項目的main.cpp,但有些didnt給力了。我試圖檢查類配置,但沒有發現任何認爲會有所幫助。

+0

這將更改應用程序的「默認」字體。如果有任何地方你明確地改變字體,這將不會覆蓋它。 – Liz