PYQT5按下按钮变色

文章介绍了两种在PythonGUI编程中改变按钮颜色的方法:一是通过事件触发动态修改按钮样式,二是直接设置按钮的样式表,包括默认状态、鼠标悬停和按下时的样式变化。
摘要由CSDN通过智能技术生成

方法一:
# 按钮点击后变色
    def changecolor(self):
        # 获取发送信号的按钮
        sender = self.sender()
        # 使用对象名作为 ID 并显示一个弹窗
        button_id = sender.objectName()
        sender.setStyleSheet(f"QPushButton#{button_id}  {{ background-color: {QColor(0, 255, 255).name()}; }}")
        print('改变了颜色')

方法二:
#设置按钮的样式表
        self.changebutton.setStyleSheet("""
            QPushButton {
                border-radius: 20px; 
                font: 70 20pt 'Arial'; 
                background-color: #00b4ff; 
                color: blue; 
                padding: 6px;
            }
            QPushButton:hover {
                background-color: #007aff; 
            }
            QPushButton:pressed {
                background-color: #005fff; 
            }
        """)

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt中,你可以轻松地为按钮添加单击事件处理程序,使得按钮被点击后颜色发生变化。以下是步骤和基本示例: 1. **包含所需库**: 在`.pro`文件或`.cpp`文件中,确保包含了所需的`QApplication`、`QPushButton`和可能的`QtWidgets`库。 2. **创建按钮并设置样式**: 创建一个QPushButton实例,并为其定义初始的颜色。例如: ```cpp QPushButton* button = new QPushButton("点击我", this); button->setStyleSheet("background-color: blue;"); ``` 这里将按钮背景设为蓝色。 3. **添加点击事件处理函数**: 使用`QObject::connect()`方法连接按钮的`clicked()`信号到一个槽函数(slot function),该槽函数会更改按钮颜色: ```cpp connect(button, &QPushButton::clicked, [button](){ // 改变颜色的部分 QColor initialColor = button->palette().color(QPalette::Button); // 获取当前颜色 QColor newColor = initialColor.darker(); // 或者用其他方式改变颜色,比如更亮或不同颜色 button->setStyleSheet("background-color: " + newColor.name()); // 更新样式 }); ``` 当按钮被点击时,这个槽函数会被调用,使按钮颜色变化。 4. **完整示例**: ```cpp #include <QApplication> #include <QPushButton> #include <QPalette> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget window; window.resize(200, 100); QPushButton button("点击我", &window); button.move(50, 50); button.setStyleSheet("background-color: blue;"); QObject::connect(&button, &QPushButton::clicked, [button](){ QColor initialColor = button.palette().color(QPalette::Button); QColor newColor = initialColor.darker(); button.setStyleSheet("background-color: " + newColor.name()); }); window.show(); return app.exec(); } ``` 以上代码中,每次按钮被点击,按钮颜色都会暗淡一些。你可以根据需要修改颜色变化的方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值