如何在不同的功能中更改QPushButton的颜色?

时间:2019-07-01 12:21:12

标签: python user-interface pyqt5

我有一个从 QWidget 继承的类。

点击按钮与 some_function 相关。

我想在功能开始执行其核心功能之前将PushButton颜色更改为红色,并在完成核心功能后将其更改为绿色,但是我不知道如何在 some_button 之外更改PushButton颜色。 >。

编辑:按照@dudakl的建议,我在实例属性中添加了 button ,但是在整个函数运行完后颜色仍然会改变,而不是开始时为红色,结束时为绿色。

from PyQt5.QtWidgets import *

class AppWidget(QWidget):


    def __init__(self, parent = None):
        super(AppWidget, self).__init_(parent)

        mainLayout = QGridLayout()
        self.some_button()
        mainLayout.addWidget(self.someButton)

        self.setLayout(mainLayout)
        self.show()


    def some_button(self):

        self.someButton = QGroupBox('Some GroupBox')
        layout = QVBoxLayout()

        button = QPushButton('Button')
        button.clicked.connect(self.some_function)
        layout.addWidget(button)


    def some_function(self):

        #change color to red
        #do something
        #change color to green

1 个答案:

答案 0 :(得分:0)

您可以使用以下命令将按钮添加到实例属性:

self.button = QPushbutton('Button')

,然后使用

在“ some_function”中进行处理
self.button.something

检查this帖子是否有颜色变化: