QT 滑块按钮 改变按钮图片样式做出滑块开关效果

 效果图如上

首先新建一个按钮并双击删除里面的文字text

 右键按钮修改样式change stylesheet

 代码如下:

QPushButton {
    border: none; /* 移除按钮默认的边框 */
    image: url("icon/滑块关.png");
}

QPushButton:checked {
    image: url("icon/滑块开.png");
}

QPushButton:unchecked {
    image: url("icon/滑块关.png");
}

 再点击Apply

image:url(“图片位置”)

  

 按钮图片尽量大小比例一直,不然点击后可能效果不理想

之后保存ui文件,再在pythonCharm中转为py文件

新建一个py文件

import sys
from PyQt5 import QtWidgets
import ui_2Sliderbutton

class MainWindow(QtWidgets.QMainWindow,ui_2Sliderbutton.Ui_MainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.setupUi(self)

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    w=MainWindow()
    w.show()
    sys.exit(app.exec_())

 展示一下效果

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Qt开关按钮可以通过使用QPainter绘制来实现自定义的外观。可以根据需求设置开关背景色、圆形按钮背景色以及状态切换动画时长。可以使用如下代码示例来创建和设置开关按钮的状态和样式: ``` SwitchControl *MRSwitchControl = new SwitchControl(this); MRSwitchControl->move(570,735); // 设置开关按钮的位置 MRSwitchControl->setToggled(true); // 设置按钮的初始状态为开 connect(MRSwitchControl, &SwitchControl::toggled, this, &SystemSetting::setMaskRecog); // 设置按钮状态切换时的槽函数 ``` 这段代码创建了一个名为`MRSwitchControl`的SwitchControl对象,并设置了它的位置和初始状态。当按钮的切换状态改变时,会调用SystemSetting类中的`setMaskRecog`槽函数来处理相应的逻辑操作。通过自定义SwitchControl类的绘制函数,你可以在界面上显示出你想要的开关按钮图片。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [基于Qt的仿手机开关按钮](https://download.csdn.net/download/qq_40162965/13065266)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Qt自定义开关按钮控件](https://blog.csdn.net/nchu_zhangyiqing/article/details/109715135)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值