1. 程式人生 > >自學QT之QWidget設定setstylesheet無效的問題

自學QT之QWidget設定setstylesheet無效的問題

這個問題在mainwindow裡是沒有的哦,但是單獨widget時候問題就出現了。當然,QT也提供瞭解決辦法的呢。

之前搜尋了一下,發現追蹤溯源還是來自QT的幫助手冊。

先上程式碼吧:

void Widget::paintEvent(QPaintEvent *e)
{
    QStyleOption opt;
    opt.initFrom(this);
    QPainter p(this);
    style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
    QWidget::paintEvent(e);
}
重寫paintevent事件以後就好了。

官方解釋:


我這裡使用了initFrom函式,和官方給的程式碼不一致,這個是因為幫助文件還沒有及時更新。在幫助文件的其他地方已經提示用這個新函式來替換了。