2012-09-26 35 views
2

我有麻煩在一個QTextEdit標籤是大小爲一些數量的空格一樣,說4如何標籤長度匹配到一些空間Qt中

我使用Qt 4.8.1在Mac上,我嘗試了幾種不同的等寬字體。在每種情況下,我嘗試使用fontMetrics.width()和fontMetrics.boundingRect()。width()。傳入「'並乘以4並傳入」「會返回一致的大小,但當設置製表符寬度時,它稍微偏離。更糟糕的是,錯誤積累了。如果我輸入6個選項卡,並在下面輸入6 * 4個空格,則光標會在一個非常不同的地方出現。

即使手動調整數字,我一直無法找到完全匹配的整數像素,並且保持標籤和等效空間的一致性。

有沒有其他人遇到過這個問題?你有沒有找到一個解決方案,而不是用空格替換標籤?

回答

0

你試過用這個嗎?

QFontMetrics::tightBoundingRect(" ") 

我發現這裏的建議,但遺憾的是它並沒有提到是否成功:http://lists.qt.nokia.com/pipermail/qt-interest/2009-June/007924.html

請讓我知道它是否適合你:)

+0

謝謝,但唉,我試過,沒有成功>。< 但無論如何,我最關心的是我無法找到一個保持製表符和空格等價的整數值。換句話說,我找不到這些函數可能返回的整數。 – WestleyArgentum

0

我有同樣的問題與你,我打電話setTabStopWidth(4 * fontMetrics().width(' '));在QPlainTextEdit的構造函數。但當我打電話給它的構造函數後,它可以工作!我不知道它背後的魔力...