在寫一些需要精確布局或者排版的軟體時候,我們需要知道文字的寬度和高度,保證我們在適當的座標中使用drawtext。或利用文字的高度進行布局與設計其他相關的東西。
不同的字型,字寬字高都是不一樣的。所以計算文字寬度的是乙個和字型相關的乙個類
qfontmetrics
具體的使用方法如下:
qfont font;
font.setfamliy("宋體");//所求文字的字型為宋體
font.setpointsize(12);、、所求字型的大小
/*根據不同的情景設定font,例如是否粗體
*/qfontmetrics fm;
fm.setfont(font);
int height = fm.height(string);//strin為所求的字串。
但是這只是一種基本的方法,我們進行的富文字的編輯一般用到qtext 這個類進行文字的編輯。此時面的方法也不太實用。好在qtext這個類已經提供了文字大小 size 的介面,具體的使用方法為:
qtext text;
int是ringheight = text.edit().size().height;
通過呼叫上面函式愛便可實時所編輯富文字的高度或大小。 關於QT富文字的那些事兒
去年折騰的乙個專案,其中的某個部分就是在一段文字中的重點突出某個符號,採用不同的字型和顏色,一開始我還不太明白,後來才開始理解了原來是要富文字顯示,這塊目前用qt實現,然後查了一些富文字的例子,qlabel控制項是支援富文字顯示的,只不過網上的一些基於正規表示式的例子不能對單個字元過濾,所以下面改進...
Qt 富文字處理(二)
文件元素 富文字文件通常包括一些通用的元素,例如段落 框架 和列表。這些在 qtextdocument 類中分別使用 qtextblock,qtextframe,qtexttable 和 qtextlist 描述。不同於文件的其他元素,使用一種特殊的文字片段描述,這使得可以同普通文字混排。文件的基本...
QT 富文字轉換成pdf
qt對富文字的處理,主要有幾個感興趣的知識點才寫下這篇文章,將文字或轉換成pdf格式 檔案直接拖拽到文字框中 雙擊對程式全屏和縮小 滾動滑輪對文字放大縮小及安裝事件過濾器通過鍵盤的上下按鍵對文字放大縮小。1 執行效果圖如下圖1所示。呼叫qtextedit的print函式進行轉換輸出。輸出效果如下圖2...