翻譯|使用教程|編輯:龔雪|2022-05-31 09:52:15.623|閱讀 196 次
概述:本文主要為大家介紹Qt Widget中的樣式和樣式感知小部件,歡迎大家下載相關組件體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
樣式(繼承的類)代表小部件繪制并封裝 GUI 的外觀。 QStyle 類是一個抽象基類,它封裝了 GUI 的外觀。 Qt 的內置小部件使用它來執行幾乎所有的繪圖,確保它們看起來與等效的原生小部件完全一樣。
Qt帶有一系列內置樣式,某些樣式僅在特定平臺上可用。自定義樣式可作為插件使用,或者通過使用 ()創建特定樣式類的實例并使用()設置它。
Qt技術交流群:166830288 歡迎一起進群討論
的API包含繪制小部件的函數、用于執行常見和困難任務的靜態輔助函數(例如,計算滑塊手柄的位置)以及在繪制時進行各種必要計算的函數(例如,為小部件計算其大小) 提示)。 該樣式還有助于一些小部件的內容布局,此外它還創建了一個 ,其中包含用于繪制的 es。
QStyle 繪制圖形元素; 元素是小部件或小部件部分,例如例如按鈕斜面、窗口框架或滾動條。 大多數繪圖函數現在采用四個參數:
當一個小部件請求一種樣式來繪制一個元素時,它會為該樣式提供一個,它是一個包含繪制所需信息的類。可以讓 繪制小部件,而無需鏈接小部件的任何代碼。 這使得在任何繪圖設備上使用 QStyle 的繪圖功能成為可能,即您可以在任何小部件上繪制組合框,而不僅僅是在上。
小部件作為最后一個參數傳遞,以防樣式需要它來執行特殊效果(例如 macOS 上的動畫默認按鈕),但這不是強制性的。
在這個系列教程中,我們將了解樣式元素、樣式選項和QStyle 的功能,最后我們描述如何使用調色板。
項目視圖中的項目由 Qt 中的委托繪制,項目視圖標題仍由樣式繪制。Qt 的默認委托 QStyledItemDelegate 部分通過當前樣式繪制其項目; 它繪制復選框指示符并計算包含項目元素邊界矩形。 在本文檔中,我們僅描述如何實現QStyle子類。如果您希望添加對 QStyledItemDelegate 支持之外的其他數據類型的支持,則需要實現自定義委托。 請注意,必須以編程方式為每個單獨的小部件設置委托(即不能將默認委托作為插件提供)。
樣式元素是 GUI 的圖形部分,小部件由樣式元素的層次結構(或樹)組成。例如,當樣式接收到繪制按鈕的請求(例如來自 )時,它會繪制標簽(文本和圖標)、按鈕斜角和焦點框。 反過來,按鈕斜面由斜面周圍的框架和其他兩個元素組成。下面是按鈕元素樹的概念圖,當我們瀏覽各個小部件時,我們將看到 QPushButton 的實際樹。
小部件不一定是通過要求樣式只繪制一個元素來繪制的,小部件可以多次調用樣式來繪制不同的元素。 一個例子是 ,它單獨繪制它的選項卡和框架。
元素類型分為三種:原始元素、控制元素和復雜控制元素,這些元素由 、 和枚舉定義。每個元素枚舉的值都有一個前綴來標識它們的類型:CC_ 表示復雜元素,CE_ 表示控制元素,PE_ 表示原始元素,我們將在接下來的三個部分中了解定義不同元素的內容并查看使用它們的小部件示例。
QStyle 類描述包含這些元素的列表以及它們在樣式小部件中的作用,當我們為單個小部件設置樣式時,將看到它們是如何使用的。
Qt技術交流群:166830288 歡迎一起進群討論
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網