❶ QT Qstackedwidget背景圖片不完整
親,你沒有調節StackedWidget的大小,這樣就顯示不一樣了
另外,可以不適用background
可以試試image
❷ QT設置widget背景圖片
在Qt中,為widget設置背景圖片可以通過多種方式實現,關鍵在於選擇適合特定場景的方法。首先,確保精確指定控制項,如在樣式表中使用類名#控制項名,避免影響其他內部控制項的背景。錯誤的做法可能導致混亂,而正確示例將只改變指定widget的背景,而不會影響其內部。
一個常見的方法是使用QPalette,創建一個新的調色板,設置背景刷並應用到widget上,但需要注意圖片大小可能會影響顯示效果。另一種方法是利用paintEvent事件,在Widget的整個區域內繪制圖片,這可以實現平鋪,但可能需要創建子類並增加復雜性。
更為便捷的方法是通過樣式表設置(setStyleSheet)。使用border-image屬性可以輕松設置背景圖片,並且樣式表能保持界面和邏輯的分離。然而,如果widget是頂層窗口,可能需要在子窗口中使用樣式表以確保圖片顯示。
還可以通過間接方式,比如在widget上覆蓋一個QLabel,並在事件中調整其大小以匹配窗口。設置QLabel的setScaledContents為true,使得動態背景圖片成為可能。這種方式適用於需要動態背景或顯示動圖的場景。
❸ qt程序 QWidget主窗體背景圖片不但沒顯示 變成了全黑色,在stylesheet中添加資源圖片也不顯示為什麼啊
重寫該QWidget的paintEvent方法,在裡面添加如下代碼:
QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
QWidget::paintEvent(e);
注意需要包含幾個頭文件。