2010-11-15 85 views
1

是否可以拉伸背景圖像。 其實我有一個尺寸爲320X480的圖像,我想用這個圖像作爲360X640尺寸的QWidget屏幕的背景。用於QWidget Screen的背景圖像拉伸

我嘗試了以下方法:

1)。在這裏,圖像被拉長的畫面,但與另一圖像的按鈕與主畫面圖像沿加載:

ui->MainScreen->setStyleSheet("border-image: url(:/images/Main-screen.png);"); 

2)。這裏的圖像沒有拉伸,但顯示爲瓷磚:

ui->MainScreen->setStyleSheet("background-image: url(:/images/Main-screen.png); border: none"); 
ui->MainScreen->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred)); 
ui->MainScreen->setBackgroundRole(QPalette::Background); 

對此....任何建議!

謝謝...

+0

你的第一個解決方案,你是什麼意思'一個按鈕與另一個圖像被加載'?我沒有看到您使用樣式表和另一個按鈕設置的背景圖像之間的鏈接。如果你想讓別人幫忙,請接受你之前提出的問題的答案! – 2010-11-15 09:49:40

+0

實際上,在主屏幕中,我有一個帶有圖像的按鈕。如果我使用「邊框圖像」,那麼主屏幕圖像也隨同按鈕的實際圖像一起加載到按鈕中。因此,這樣的2個圖像加載在按鈕中。我希望你現在得到了這個問題! – RajeevSahu 2010-11-15 10:10:37

回答

1

我認爲你的按鈕越來越相同的圖像作爲背景的原因是因爲樣式表被應用到子控件太(我認爲)。在完成#1中使用的相同代碼後,嘗試將按鈕的樣式表設置爲其他值。孩子的樣式表應該覆蓋父母的樣式表。

+0

是的,我設置不同的按鈕樣式表:ui-> StartpushButton-> setIcon(QIcon(「:/ images/Main-screen_button.png」)); // ui-> StartpushButton-> setStyleSheet(「image:url(:/ images/iPhone_Main-screen_button.png); border:none」); ui-> StartpushButton-> setStyleSheet(「background:transparent; border:none」);但結果如#1所述。 – RajeevSahu 2010-11-16 05:13:29

1

嘗試以下操作:

ui->MainScreen->setStyleSheet("QMainWindow {border-image: url(:/images/Main-screen.png);}"); 

這告訴Qt來改變所有的QMainWindows的背景圖像中的子樹。從ui-> MainScreen。如果您未指定類類型或對象名稱,則不會應用過濾器,並且每個孩子都將獲得背景圖像。

1
QWidget#QMainWindow { style; } 

#subclassmainclassQWidget)設置的風格,只是在子類

它會做什麼你要怎樣做。