Qt实现不规则按钮
公司有需求让我做一个能控制xyz轴的控制面板,同事不知如何做一个好看的不规则按钮,这里教大家一个简便的方法。
先来看看这个button是不是你要的style:
1.用ps制作以上按钮,并且上三种颜色,分别是常态,hover,和按下去的状态,由于色差不大,这里看上去差不多,看看我做的。大小150*150。
2.然后设置css样式表,让鼠标移上去有反应,按下也有反应,css样式不说了,网上都有,这里放出代码:
QPushButton{border-image: url(://image/btn_normal.png);}
QPushButton:hover{border-image: url(://image/btn_hover.png)}
QPushButton:pressed{border-image: url(://image/btn_pressed.png)}
3.制作mask,用于遮挡多余的按键,每个按钮都要做哦,颜色无所谓,但是需要png格式,大小统一150*150。不想显示的就让他透明,看看我做的。
3.然后在qt工程中添加按钮,大小设置为150*150,就是控制盘的大小。
4.到了最关键的一步,就是设置mask。上代码:
QPixmap maskUp("://image/mask_up.png");
ui->btn_up->setMask(maskUp.mask());
5.按照同样方法新建剩余的按钮,并把他们的x,y坐标都写成一个点,这样他们就重合了,看起来就是一个整体。
快去试试吧。
放出源代码:https://download.csdn.net/download/figo_lyf001/11129297