[英]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.