QLabel加載圖片方式之一
QPixmap pixmap(":/images/abc.jpg"); //通過構(gòu)造函數(shù)載入圖片方式
pixmap.load(":/images/ab.jpg"); //另外一種載入圖片方式
pixmap.scaled(ui->label1->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
ui->label1->setScaledContents(true);
ui->label1->setPixmap(pixmap);
Chapter1 Qt中正確的設置窗體的背景圖片的幾種方式
原文鏈接:https://blog.csdn.net/yanche521/article/details/51017601
Qt中正確的設置窗體的背景圖片的方法大致有兩種,下面將逐個講解:
一、利用styleSheet設置窗體的背景圖片
使用stylesheet設置窗體的背景圖片的時候,可以直接按照下圖的操作去進行即可,如下圖所示:
但是,需要注意的是:
1.在QWidget中這種方法是不行的,如果你足夠細心的話,你會發(fā)現(xiàn)使用同樣的設置背景圖片的方法,背景圖片其實并沒有發(fā)生真實改變,但是它的子窗體背景圖片是會發(fā)生改變的。
其實我們可以通過在添加一個i額QWidget來解決這個問題,即在QtDesigner中添加一個Frame窗口,我們只需對這個新添加的Frame窗口來進行styleSheet的字符串值即可,新添加的所有子控件都添加到這個新的Frame窗口里。
2.做過Qt開發(fā)的朋友應該都知道,Qt的子窗體是會繼承父窗體的屬性的,這就證明了為什么父窗體的背景在子窗體中也會有,這個是對這個原因的一個非常合理的解釋。那么問題來了,我們怎么才能做到子窗體不繼承父窗體的背景呢?
既然上面分析到了原因,那么我們就知道如何解決了,仍然打開styleSheet代碼編輯界面,我們只需要將下面的幾行代碼輸入進去即可解決這個問題,具體代碼如下所示:
#窗體名稱 {
border-image: url(:/HouseRentSystem/Resources/test.png);
}
Chapter2 Qt的主窗口背景設置
原文鏈接:https://blog.csdn.net/yinchengkai/article/details/124056878
首先說明一下background-image、border-image、image三種區(qū)別
background-image:簡單理解就是將圖片從部件的左上角開始貼圖,部件的大小限制了顯示圖片范圍;好比是我們按照部件的大小來裁剪圖片
border-image:就是將貼圖縮放進到部件里,部件能看到完整圖片,但是此時圖片會被壓縮的變形
iamge:部件會按照圖片的原始大小進行填充
方法一:最簡單的方式是通過ui界面來設置,例如設置背景圖片
在添加資源的下拉框有三種方式:
選擇background-image之后會有個問題,就是窗口上的其它子部件也會貼上圖,如下:
這種添加方式會讓所有部件都會貼圖,肯定不行;需要把background-image: url(:/image/background.png);放在#MainWindow{}里(MainWindow為主窗口的對象名),意思就是只針對主窗口設置有效,子部件無用;
背景色設置和背景圖片設置也是一樣的道理,如果不想窗口中的部件顏色和主窗口一樣,也是需要#MainWindow來設置限定范圍
設置完效果如下:
方法二 :通過代碼設置窗口的palette屬性來實現(xiàn)
1)背景圖片設置
QPixmap pixmap=QPixmap(":/image/background.png").scaled(this->size());
QPalette palette;
//設置主窗口背景圖片
palette.setBrush(QPalette::Window,QBrush(pixmap));
2).背景顏色設置
QPalette palette;
//設置主窗口背景顏色
palette.setColor(QPalette::Window,QColor(255, 150, 30));
this->setPalette(palette);
方法三:通過重寫paintEvent事件,來設置背景圖片和背景顏色
1)設置背景圖片
void MainWindow::paintEvent(QPaintEvent *)
{
QPainter painter(this);
QPixmap pixmap(":/image/background.png");
painter.drawPixmap(this->rect(),pixmap);
}
2)設置背景顏色
void MainWindow::paintEvent(QPaintEvent *)
{
QPainter painter(this);
QColor color(255, 150, 30);
painter.setBrush(color);
painter.drawRect(this->rect());
}
方法四:通過代碼中設置樣式表,其與方法一類似
1)設置主窗口背景圖片
this->setStyleSheet("QMainWindow {background-image:url(:/image/background.png)}");
2).設置主窗口背景顏色
this->setStyleSheet("QMainWindow {background-color:rgb(255, 150, 30)}");
Chapter3 Vs+Qt 界面添加背景圖的兩種方式(非常實用)
原文鏈接
1、使用代碼實現(xiàn)界面添加背景圖
//給窗口添加背景圖
QPixmap Images("./1.png");
QPalette Palette = this->palette();
Palette.setBrush(QPalette::Background, Images);
this->setPalette(Palette);
說明:使用該方法實現(xiàn)界面添加背景圖能夠正常顯示,如上圖所示,但是如果需要把該工程打包成 .exe 然后移植到別的電腦運行,需要注意以下兩個細節(jié):
(1)把背景圖放到該工程文件中(如下圖),并在代碼中使用相對路徑(代碼如上所示);
(2)在 .exe 文件目錄再復制一份背景圖(如下所示);
說明:此時移植后的 .exe 便能正常在界面上顯示背景圖;
2、使用樣式表實現(xiàn)界面添加背景圖
Chapter4 如何在Qt Desginer中設置背景圖片,且不覆蓋其它控件
原文鏈接
Chapter5 基于QT的電力軟件界面
原文鏈接:https://blog.csdn.net/2301_76989824/article/details/129490264文章來源:http://www.zghlxwxcb.cn/news/detail-754038.html
基于QT的電力軟件界面
包含軟件工程源碼,軟件配置環(huán)境:VS2012+Qt4.6,windows操作系統(tǒng)
軟件具體包含功能:
[1]界面首頁顯示,系統(tǒng)下拉導航欄顯示、主功能tab頁顯示
[2]下拉導航欄右邊伸縮顯示,自定義列表控件;
[3]自定義tab頁、表格頁功能;
[4] 包含軟件打包程序,一鍵運行;
[5]自定義控件,QSS界面美化,扁平化界面風格顯示;
[6]統(tǒng)一界面風格和背景圖片。文章來源地址http://www.zghlxwxcb.cn/news/detail-754038.html
到了這里,關(guān)于Qt中正確的設置窗體的背景圖片的幾種方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!