在Qt使用长图片设置控件背景遇到的问题,在网上找了很久终于找到了方法,只是忘了是在那位老兄那里看到的,惭愧惭愧
废话不多说,下面上代码:
ui->pb_login->setStyleSheet(QString(
"QPushButton"
"{border-image:url(./Resources/img/LoginDlg/img_btn_login.png) 0 0 0 0 repeat repeat;"
"color:white;}\n"
"QPushButton:hover"
"{border-image:url(./Resources/img/LoginDlg/img_btn_login.png) 0 0 0 280 repeat repeat;}\n"
"QPushButton:pressed"
"{border-image:url(./Resources/img/LoginDlg/img_btn_login.png) 0 0 0 560 repeat repeat;}"));
pb_login是ui文件中已按钮控件,这是设置了按钮的三个状态下不同的背景,以悬浮在按钮为例:
QPushButton:hover指悬浮状态,
border-image设置背景,
url(./Resources/img/LoginDlg/img_btn_login.png)图片路径,
0 0 0 280 repeat repeat;前3个0不动,第四个为控件宽度*所需小图在长图的次序,0开头
注意最后的两个 repeat要加上,我也不知道这是为啥(我的例子中使用的长图片为宽840,包含三张小图片,普通状态,悬浮状态和点击状态,按钮宽度未280,所以在设置悬浮状态时,
第四个参数为280*1)
我是真的啰嗦