我試圖讓用戶可以手動設置QWidget
的背景,用他們自己的QPixmap
從文件加載。我的目標是填充QWidget
和QPixmap
,按比例縮小以便填充整個QWidget
(即,只要填充整個QWidget
,可以將邊緣切掉一些QPixmap
)。所以,我不能使用QBrush
來繪製像素圖,因爲我不想平鋪。用QPixmap填充QWidget的有效方法
當前,我有2個成員像素對象:m_backgroundPixmap
和m_scaledBackgroundPixmap
。每resizeEvent
,我拿m_backgroundPixmap
,縮放到正確的尺寸,以適應QWidget,然後將其保存爲m_scaledBackgroundPixmap
。在我的paintEvent
中,我簡單地使用QPainter::drawPixmap
來繪製縮放的像素圖。
有沒有其他的方法可以做到這一點更有效?我寧願不必在每個resizeEvent
上調整像素圖的大小,特別是如果resizeEvent
正在導致窗口邊緣被拉伸,這意味着它會連續獲得大量這些事件。