1. 程式人生 > >Qt小心得之1: QWidget中新增Q_OBJECT巨集, setStyleSheet設定了背景顏色不顯示

Qt小心得之1: QWidget中新增Q_OBJECT巨集, setStyleSheet設定了背景顏色不顯示

          QWidget在沒有新增Q_OBJECT巨集,在建構函式裡用setStyleSheet設定了背景顏色,是可以正常顯示,但添加了Q_OBJECT巨集後,QWidget就無法顯示背景色了, 百度了一下,發現了類似問題,說是QWidget頂級視窗無論是否新增Q_OBJECT巨集, 背景色都可以正常顯示;其他的如QFrame,無論是否添加了Q_OBJECT巨集,無論是否是頂級視窗,都可以顯示背景色(這兩點未親自驗證過); QWidget作為子視窗如要正常顯示背景色,需要setAttribute(Qt::WA_StyledBackground),
驗證ok.