按钮图标变化请点击(Button Icon Change on Click)

2019-11-02 20:08发布

我试图做出改变右边按钮,点击该图标上的GUI应用程序! 这是我简单的代码:

import sys
from PySide.QtCore import *
from PySide.QtGui import *

class Ui_MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi()

    def setupUi(self):
        widget = QWidget()
        layout = QGridLayout()
        self.buttons = list()

        for x in range(3):
            row = list()
            for y in range(3):
                button = QPushButton(QIcon('Empty-Cell.png'), '{},{}'.format(x, y))
                button.clicked.connect(self.button_click)
                row.append(button)
                layout.addWidget(button, x, y)
            self.buttons.append(row)

        widget.setLayout(layout)
        self.setCentralWidget(widget)

    def button_click(self):
        # Change icon HERE!

def main():
    app = QApplication(sys.argv)
    ui = Ui_MainWindow()
    ui.show()
    sys.exit(app.exec_())

if __name__ == "__main__":
    main()

这里的图片:

GUI应用程序的链接

我一直在尝试了几个小时,但我还是不能够做到这一点,任何想法? 我也想用图像小工具,而不是一个按钮,标签,或whatelse如果可能的话..

谢谢!

Answer 1:

您可以使用QObject::sender获取点击的按钮。

def button_click(self):
    test_pixmap = QPixmap(16, 16)
    test_pixmap.fill(Qt.red)
    self.sender().setIcon(QIcon(test_pixmap))


文章来源: Button Icon Change on Click