在繼承qwidget時,我們在設定樣式表時,不會有效果。原因在於 qwidget的paintevent函式實現為空。
此時,需要讓樣式表生效,有兩種方法:
不繼承qwidget,繼承qframe。因為qframe 的自帶paintevent函式已做了實現,在使用樣式表時會進行解析和繪製。
實現qwidget的paintevent函式時,使用qstylepainter繪製:
void clgwidgetbasic::paintevent(qpaintevent *event)
這裡的qstyleoption .rect為 樣式生效的區域,可以根據需要調整。
設定樣式:
clgwidgetbasic *widget=new clgwidgetbasic(this);
widget->setstylesheet( " background-color:red;" );
建議採用第二種方式。
Qt 設定QWidget背景色
qt設定qwidget背景顏色的方法測試了三種,推薦第一種。一 使用qpalette qpalette palette palette.setcolor qpalette background,qt yellow this setautofillbackground true this setpal...
Qt之設定QWidget背景色
qwidget是所有使用者介面物件的基類,這意味著可以用同樣的方法為其它子類控制項改變背景顏色。qt中視窗背景的設定,下面介紹三種方法。使用qpalette 使用style sheet 繪圖事件 一般我不用qss設定視窗背景,也不建議使用。這裡是對於視窗而,如果是子部件當然可以 因為視窗使用qss設...
QT設定滑鼠樣式
3 使用xpm生成滑鼠樣式 qt內建基本的滑鼠樣式,使用函式qcursor qt cursorshape shape 進行設定。對於不同作業系統來說,設定的qt滑鼠樣式會被替換成當前系統支援的滑鼠樣式效果。qt內建的滑鼠樣式 cursorshape 如下 比如設定滑鼠樣式為qt pointingha...