我正在尝试创建一个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()
这里是图片:
我已经尝试了几个小时,但我仍然无法做到这一点,任何想法? 如果可能,我还想使用图像小部件而不是按钮,标签或whatelse ..
谢谢!
答案 0 :(得分:0)
您可以使用QObject::sender
获取点击的按钮。
def button_click(self):
test_pixmap = QPixmap(16, 16)
test_pixmap.fill(Qt.red)
self.sender().setIcon(QIcon(test_pixmap))