2010-12-13 59 views
8

是否有可能在運行時查找Qt中的樣式表值?以編程方式確定Qt樣式表選項?

我正在處理從QPushButton派生的自定義按鈕,它具有一些樣式表屬性設置。我希望能夠查找一些樣式表設置,如邊框寬度,margin,padding-top,padding-left,padding-right等等。這是否可以在不調用widget->getStyleSheet()的情況下自行解析出這些值?

回答

3

不要這麼想,你可能可以通過單步執行繪圖代碼來找到某些東西。但是樣式表的解析和應用程序相當優化,並且使用了很多預處理。我甚至不認爲如果它實際設置在父項中,則可以訪問小部件的樣式表。

5

在內部,當你調用QApplication :: setStyleSheet()時,Qt創建一個名爲QStyleSheetStyle的QStyle子類。

這意味着您可以通過正常的QStyle方法查詢樣式表信息。請記得正確填寫選項和小部件參數,以確保您從樣式表中獲得正確的值。