導航:首頁 > 圖片大全 > 如何在qt中加入背景圖片

如何在qt中加入背景圖片

發布時間:2024-06-07 00:51:12

1. qt中如何將png設置為背景(怎麼將圖片平鋪)

MyWidget*w=new MyWidget;
QPalette palette;
palette.setBrush(w->backgroundRole(), QBrush(QPixmap("./pi/backGround.PNG")));
w->setPalette(palette);
w->show();
按上面的做就可以設置背景了,注意替換你自己的widget的類和圖片的路徑

2. 本人剛學qt,想利用qt的ui界面設計器快速的加入一張圖片,怎麼插入啊!求救,明天要交的。

1、qt設計器插入圖片的話,就利用QSS吧,這個是最快的方法,給你提供一個剛剛給你寫的小程序吧,效果:

其他的設置方法一樣的。

3. qt中主窗口背景設置

以前遇到的很多小知識,從今天開始都一點一點記錄下來。。。
窗口背景無非兩種:背景色、背景圖片。Qt中窗口背景如何設置?下面介紹三種方法:
一、QPalette設置背景
二、實現paintEvent,使用QPainter來繪制背景
三、使用QSS來設置背景
關於QSS的使用不想多說,一般我不用QSS設置窗口背景,也不建議使用。(注意:這里是對於窗口而言)。如果是子部件當然可以。因為窗口使用QSS設置背景之後,若子部件不使用同樣的方式來設置,默認則會繼承父窗口的樣式
子部件一般情況下也不需要設置背景圖片,即使需要使用QSS也完全可以滿足。設置較多的是背景色與圖標,QSS中使用background或者background-color的方式可以實現背景色的設置,圖標則可以使用setPixmap或者setIcon來設置!
下面介紹QPalette以及paintEvent
一、QPalette設置背景
構造函數中可以使用如下方式:
(1)設置背景色
QPalette palette(this->palette());
palette.setColor(QPalette::Background, Qt::black);
this->setPalette(palette);
或:
QPalette palette;
palette.setBrush(this->backgroundRole(), Qt::black);
this->setPalette(palette);
這里setColor和setBrush都可以使用!
(2)設置背景圖片
QPixmap pixmap = QPixmap(":/qm/safe").scaled(this->size());
QPalette palette(this->palette());
palette.setBrush(QPalette::Background, QBrush(pixmap));
this->setPalette(palette);
上面方式無論設置背景色還是背景圖片QPalette::Background與this->backgroundRole()是等價的!
二、paintEvent設置背景
(1)設置背景色
void IIIMark::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.setBrush(Qt::black);
painter.drawRect(this->rect());
}
(2)設置背景圖片
void IIIMark::paintEvent(QPaintEvent *)
{
QPixmap pixmap = QPixmap(":/qm/safe").scaled(this->size());
QPainter painter(this);
painter.drawPixmap(this->rect(), pixmap);
}
注意:
(1)以上都是用scaled方式對圖片進行了適應窗口大小的設置,因為所給的圖片大小不一定滿足要求,所以採用此方式!當然圖片經過拉伸或者壓縮之後會變形(純色圖片除外),所以對圖片採用此方式時需要注意。
(2)設置背景范圍的時候如果需要充滿整個窗口最好使用this->rect(),因為我看到很多人在使用QRect(0, 0, 400, 400)之類的語句,那麼如果窗口大小改變了呢?此句是不是要跟著變呢?
(3)如果需要背景圖片或者背景色隨可以發生改變時,也就是所謂的換膚功能,則採用paintEvent的方式,在需要改變的時候使用update()來進行更新。
(4)this->setAutoFillBackground(true)又讓我想起了tr(),被很多人濫用。這句話在什麼時候使用呢?不妨採用QPalette設置背景的方式加上與去掉這句話對比一下(在有父窗口的情況下使用)。如果這個QWidget直接show,則有背景色,如果放到一個父窗口中,就沒有效果。添加該句即可!

4. linux涓嬬殑Qt濡備綍璁劇疆涓葷獥鍙g殑鑳屾櫙鍥劇墖錛岀敤鎵嬪啓浠g爜鐨勯偅縐

Qt4鐗堟湰浠ヤ笂鍙鍦ㄦ瀯閫犲嚱鏁頒腑鍔犲叆濡備笅浠g爜
RcMainWindow::RcMainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::RcMainWindow)
{
ui->setupUi(this);
QPixmap pixmap(":/img/background.bmp");

QPalette palette;
palette.setBrush(backgroundRole(), QBrush(pixmap));
setPalette(palette);
}
姝ゅ栦篃鍙瀹炵幇緇ф壙鑷鐖剁被QMainWindow鐨勮櫄鍑芥暟paintEvent錛屽苟鍦ㄨュ嚱鏁頒腑鍔犲叆鍚屾牱浠g爜銆

閱讀全文

與如何在qt中加入背景圖片相關的資料

熱點內容
男生沒人心疼的圖片 瀏覽:197
施工帳篷的價格及圖片 瀏覽:447
藍色襯衫女生圖片 瀏覽:853
醫院衣服圖片大全綠色 瀏覽:496
南非紅酒圖片和價格 瀏覽:132
word圖片和圖示序號對應 瀏覽:334
漫畫圖片加文字 瀏覽:43
黑色衣服白色頭發的古風男女圖片 瀏覽:711
耳釘男生動漫圖片 瀏覽:610
古風藍色衣服真人圖片 瀏覽:991
綠松鎖骨鏈圖片大全 瀏覽:473
女生漂亮的手圖片 瀏覽:547
動漫小女孩擠臉的圖片 瀏覽:194
蝙蝠的圖片大全可愛 瀏覽:334
羊毛卷螺絲燙發型圖片 瀏覽:325
女生b罩杯有多大圖片 瀏覽:905
可愛手繪畫圖片大全 瀏覽:213
如何在word原有模板中插入圖片 瀏覽:947
和平精英圖片高清跑酷 瀏覽:912
微信收藏的圖片如何轉出u盤 瀏覽:912