簡體   English   中英

我可以更改除窗口以外的所有Qt wingets背景

[英]I can change all the qt wingets background except window

我遇到問題,無法從qt窗口更改背景。 我可以更改MainWindow和所有其他小部件的背景,但是當我嘗試在另一個窗口中進行更改時,它不會改變。 我對所有小部件和窗口都使用相同的圖像,所以位置不是問題。

我正在使用帶有樣式表和Visual Studio 2013的qt Designer。奇怪的是,在QtDesigner中,MainWindow背景在我編譯並運行所有內容之前是不可見的,但是在其他窗口中背景是可見的,但是當我編譯時。

我已經嘗試通過代碼,但結果相同。

有什么幫助嗎?

在尋找另一個類似的問題時,我發現了這一點: QtStylesheet

我的問題的答案是該帖子的第二個答案。 問題是我必須重新實現paintEvent(),因為沒有它,該小部件將僅支持background,background-clip和background-origin屬性。

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

該代碼取自另一篇文章的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM