Qt界面风格设置
- 每個(gè)widget都可以設(shè)置風(fēng)格
- setStyle(QStyle style)
- 對(duì)QApplication設(shè)置QStyle即對(duì)所有
- ?QApplication::setStyle(QStyleFactory::create("Fusion"));
- 其他widget如過(guò)沒(méi)有被設(shè)置QStyle,默認(rèn)使用QApplication的
- ?QApplication::setStyle(QStyleFactory::create("Fusion"));
- QStyle主要可重寫接口
- 繪制復(fù)雜控件
- virtual void??? drawComplexControl(ComplexControl control, const QStyleOptionComplex * option, QPainter * painter, const QWidget * widget = 0) const = 0
- 繪制一般控件
- virtual void??? drawControl(ControlElement element, const QStyleOption * option, QPainter * painter, const QWidget * widget = 0) const = 0
- 繪制最基礎(chǔ)的控件(小箭頭什么的)
- virtual void??? drawPrimitive(PrimitiveElement element, const QStyleOption * option, QPainter * painter, const QWidget * widget = 0) const = 0
- 所有這些接口的參數(shù)都類似
- 第一個(gè)為QStyle類中定義的枚舉值,具體參考Qt文檔,表示你要修改的控件類型
- 后面幾個(gè)顧名思義好了
- 繪制復(fù)雜控件
- 獲得當(dāng)前平臺(tái)支持的原有的QStyle
- 也可以對(duì)每個(gè)widget定制風(fēng)格
- ?QWidget::setStyle()
- ?QWidget::setStyle()
- 修改自定義widget的顯示效果
- QWidget有style()接口獲得當(dāng)前QStyle
- 自定義QStyle
- 可以重寫已有的QStyle稍微修改下
- 也可以繼承一個(gè),一般繼承于QProxyStyle,或者QCommonStyle
- 將自定義的style做成插件供其他人使用
- Qt style sheet qss的使用
- 使用.qss 文件
- 如果一個(gè)Qt style sheet被激活,則它會(huì)對(duì)widget的style進(jìn)行封裝
- 這是一個(gè)類似css的東西
- 子widget也會(huì)被修改
- 可以對(duì)整個(gè)app應(yīng)用一個(gè)樣式,然后對(duì)某個(gè)控件指定某個(gè)樣式
- 這是一個(gè)優(yōu)先級(jí)別最高的樣式配置,會(huì)覆蓋QStyle,或者說(shuō)包裝QStyle
- QStyle和qss的區(qū)別
- QStyle是可以重寫畫控件的,你可以重新設(shè)置畫刷畫線,當(dāng)然也你可以只是設(shè)置背景顏色。例如,checkbox,原來(lái)是打鉤的,現(xiàn)在改成深色
- qss 改的相對(duì)表面一點(diǎn),修改背景顏色 背景圖片什么的
- 一個(gè)改骨頭一個(gè)改皮
- QStyle是可以重寫畫控件的,你可以重新設(shè)置畫刷畫線,當(dāng)然也你可以只是設(shè)置背景顏色。例如,checkbox,原來(lái)是打鉤的,現(xiàn)在改成深色
- 可在QtDesigner里更改樣式表
來(lái)自為知筆記(Wiz)
轉(zhuǎn)載于:https://www.cnblogs.com/dongdongweiwu/p/4743698.html
總結(jié)
- 上一篇: 可以把独占我的英雄的百度云资源发给我吗?
- 下一篇: 【PHP高效搜索专题(1)】sphinx