QT界面美化

效果如图:
在这里插入图片描述
1.将图片资源放在工程目录下
在这里插入图片描述
2.设计ui,并把图片添加到xx.qrc资源文件中
在这里插入图片描述
在这里插入图片描述
3.去掉边框并设置透明,加载背景,绑定图片

CGloble::SetButtonStyle(ui.BTN_XT,":/PayCount_QT/pic/xt.png",3);
CGloble::SetButtonStyle(ui.BTN_USER,":/PayCount_QT/pic/guser.png",3);
CGloble::SetButtonStyle(ui.BTN_BOOK,":/PayCount_QT/pic/book.png",3);
CGloble::SetButtonStyle(ui.BTN_PRO,":/PayCount_QT/pic/Pro.png",3);
CGloble::SetButtonStyle(ui.BTN_LOG,":/PayCount_QT/pic/rz.png",3);
CGloble::SetButtonStyle(ui.BTN_MIN,":/PayCount_QT/pic/min.png",3);
CGloble::SetButtonStyle(ui.BTN_MAX,":/PayCount_QT/pic/max.png",3);
CGloble::SetButtonStyle(ui.BTN_CLOSE,":/PayCount_QT/pic/close.png",3);

setWindowFlags(Qt::FramelessWindowHint);//去掉边框
setAttribute(Qt::WA_TranslucentBackground);//透明
///背景加载;
m_pixmapBg.load(":/PayCount_QT/pic/frame.png");

SetButtonStyle的函数定义如下:

//按钮图片切片 imgsrc:图片路径  CutSec:切多少片
void CGloble::SetButtonStyle(QPushButton *button, QString imgsrc, int CutSec)  
{  
	int img_w=QPixmap(imgsrc).width();  
	int img_h=QPixmap(imgsrc).height();  
	int PicWidth = img_w/CutSec;  
	button->setFixedSize(PicWidth,img_h);  
	button->setStyleSheet(QString("QPushButton{color: rgb(255, 255, 255);border-width: %1px; border-image: url(%2)  0 0 0 %3 repeat  repeat;border-width: 0px; border-radius: 0px;}")  
		.append("QPushButton::hover{border-image: url(%2) 0 0 0 %4  repeat  repeat;}")  
		.append("QPushButton::checked{border-image: url(%2) 0  0 0 %4 repeat  repeat;}")
		.append("QPushButton::pressed{border-image: url(%2) 0  0 0 %5 repeat  repeat;}")  
		.arg(img_w).arg(imgsrc).arg(0).arg(PicWidth*1).arg(PicWidth*2));  
}

4.重写各种事件,实现部分就不贴出来了,如果需要可查看源码
在这里插入图片描述
5.源码下载地址:
百度网盘: https://pan.baidu.com/s/1A5Pc97OCnYGC0QY-Y6Xeyg 提取码: xs83
csdn:https://download.csdn.net/download/qq_26611129/11594290

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页