QTabBar修改文字對齊方式

2021-10-09 08:16:30 字數 1190 閱讀 7906

qtabbar文字對齊方式修改

嘗試使用qss修改

qtabbar

qtabbar::tab

失敗!

檢視幫助文件,也沒找到能夠修改對齊方式的函式,索性去查原始碼,一路跟蹤到

case ce_tabbartab:if(

const qstyleoptiontab *tab = qstyleoption_cast<

const qstyleoptiontab *

>

(opt)

)break

;

發現目標,進入proxy()->drawcontrol(ce_tabbartablabel, tab, p, widget);繼續跟蹤,找到最終繪製 ce_tabbartablabel 的地方

int alignment = qt::aligncenter | qt::textshowmnemonic;if(

!proxy()

->

stylehint

(sh_underlineshortcut, opt, widget)

) alignment |

= qt::texthidemnemonic;

發現這裡設定了對齊方式,然後呼叫

proxy()->drawitemtext(p, tr, alignment, tab->palette, tab->state & state_enabled, tab->text, qpalette::windowtext);

進行繪製。

修改對齊方式的方法

繼承qproxystyle,重寫drawitemtext函式

class

tabstyle

:public qproxystyle

};

修改前

修改後

CSS 文字對齊方式

方法1 單行塊級元素水平居中只用新增text align即可,如p標籤,垂直居中vertical align只適用於行內元素與單元格,所以設定行高與塊高度相同即可 text align center 方法2 普通的文字居中只要設定text align即可,但是這個設定了p標籤的寬度,則是在該寬度內進...

文字垂直水平對齊方式

123 div怎麼才能做到123的位置水平垂直方向的隨意變化,例如左上,中下 水平方向的話使用text align就可以了,相容性很好,關鍵是垂直方向。css也有vertival align來設定垂直方向的定位,但是它是為了table cell設計的 要用到vertical align,需要將div...

img標籤與文字對齊方式

img標籤的align屬性可控制與文字的對齊方式,align屬性的值如下 absbottom 影象的下邊緣與同一行中最大元素的下邊緣對齊。absmiddle 影象的中間與同一行中最大元素的中間對齊。baseline 影象的下邊緣與第一行文字的下邊緣對齊。bottom 影象的下邊緣與第一行文字的下邊緣...