qt使用了qstackedwidget里面放置了widget后對該子widget設置的樣式無效


關鍵字:子窗口樣式無效 QStackedwidget 

 

問題:

我有一個對話框,里面放了一個qstackedwidget,qstackedwidget放了N個子窗口,使用addwidget添加上去了;

原本我在qtcreator里設置了style,background-color: rgb(9,27,65);但是現實不出來;

 

解決方法-1:----------------------------------不建議用這方法,會一直占用cpu

對該子窗口的類重寫paintEvent,主要核心為:

void View7IncV2Menu9Btns::paintEvent(QPaintEvent *)
{
    QStyleOption opt;
    opt.init(this);
    QPainter p(this);
    style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}

 

 

解決方法2

在此子類的構造函數調用如下代碼即可:

setAttribute(Qt::WA_StyledBackground,true);

 

 

其他問題:

使用style,子窗口會繼承,如果設置背景色,會導致該子對象比如:按鈕,label等也會有同樣的顏色,如果想子窗口不繼承;

那么在設置style的時候就要制定自己的objectname;

 

#View7IncV2Menu9Btns{background-color: rgb(9,27,65);}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM