标题:QT编写动态生成自定义风格按钮
作者:liudianwu
日期:2015-01-27 20:46
内容:
上个月有个兄弟在网上看到我公开的QUI源码,http://www.qtcn.org/bbs/read-htm-tid-57229.html (全部开源),http://www.qtcn.org/bbs/read-htm-tid-58060.html(代码开源,QSS不开源),问我可不可以实现一种动态生成自定义风格颜色按钮,类似于一些股票金融软件顶部的导航条,初步看了看,完全可以实现,用QSS毫无压力,遂答应200元报酬搞定,东西做好了,人却没了消息,哎,程序员挣点奶粉钱真不容易啊!代码留着也没啥用,还是全部开源出来,大家尽情下载拿过去学习吧,呵呵!
代码很简单,先写好需要的按钮的QSS样式,然后在代码中以自定义属性的形式调用即可,我里面随手写了四种风格的按钮。
QSS样式:
.QPushButton{
border-style:none;
padding:5px;
min-height:20px;
border-radius:5px;
}
QPushButton[btnType="0"]{
color:#FFFFFF;
border:1px solid #F32AB7;
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F32AB7,stop:1 #730453);
}
QPushButton[btnType="0"]:hover{
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F064D0,stop:1 #78115B);
}
QPushButton[btnType="1"]{
color:#FFFFFF;
border:1px solid #4EE134;
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #4EE134,stop:1 #279113);
}
QPushButton[btnType="1"]:hover{
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #83E479,stop:1 #297B17);
}
QPushButton[btnType="2"]{
color:#FFFFFF;
border:1px solid #25ACF3;
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #25ACF3,stop:1 #0B5A96);
}
QPushButton[btnType="2"]:hover{
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #64B7E1,stop:1 #226196);
}
QPushButton[btnType="3"]{
color:#FFFFFF;
border:1px solid #A958F2;
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #A958F2,stop:1 #3E0C67);
}
QPushButton[btnType="3"]:hover{
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #B976F9,stop:1 #602B95);
}
代码:
void frmMain::on_btnAdd_clicked()
{
QPushButton *btn=new QPushBu ..
#1 [honei_x 01-27 21:07]
谢谢楼主分享,虽然我没法提供物质奖励,但是赞还是有的。
#2 [honei_x 01-27 21:09]
优秀文章,支持!
#3 [圣域天子 01-28 08:09]
赞一下
另外把那人的ID公开出来,大家一起鄙视一下~~~
还有我想看到下面的显示效果的实现代码
#4 回 圣域天子 的帖子 [liudianwu 01-28 08:26]
圣域天子:赞一下
另外把那人的ID公开出来,大家一起鄙视一下~~~
还有我想看到下面的显示效果的实现代码 (2015-01-28 08:09)
已经提供了代码下载啊!
#5 [coswh 01-28 08:41]
谢谢楼主