PyQt4:改变动作按钮图标
PyQt4: Changing button icon on action
我正在尝试更改特定操作的按钮图标。 (点击、禁用等)
举个例子让我们按下一个按钮,如果我有一个按钮:
btn = QtGui.QPushButton(" ", self)
btn.resize(100, 100)
btn.move(0, 0)
btn.setIcon(QtGui.QIcon(""))
btn.setIconSize(QtCore.QSize(100, 100))
单击时如何更改其图标?我需要点击信号吗?
btn.clicked.connect(self.some_function_that_shows_new_icon)
如果是这样,我怎样才能使禁用信号或任何其他按钮条件可用?
示例:
btn.disabled.connect(self.some_function_that_shows_new_icon)
(检测按钮是否被禁用的信号,上面一个不起作用)
QIcons
可以有多个图像用于不同的 模式 和 状态 。您将多个 QPixmap
添加到同一个 QIcon
并指定该图像的模式和状态。
icon = QIcon()
icon.addPixmap(QPixmap('normal.png'))
icon.addPixmap(QPixmap('disabled.png'), QIcon.Disabled)
icon.addPixmap(QPixmap('clicking.png'), QIcon.Active)
icon.addPixmap(QPixmap('on.png'), QIcon.Normal, QIcon.On)
btn.setIcon(icon)
这取决于单击按钮是否会更改按钮的状态(例如,打开或关闭按钮)。如果您使用按钮来切换其他状态,这将不起作用。
我正在尝试更改特定操作的按钮图标。 (点击、禁用等)
举个例子让我们按下一个按钮,如果我有一个按钮:
btn = QtGui.QPushButton(" ", self)
btn.resize(100, 100)
btn.move(0, 0)
btn.setIcon(QtGui.QIcon(""))
btn.setIconSize(QtCore.QSize(100, 100))
单击时如何更改其图标?我需要点击信号吗?
btn.clicked.connect(self.some_function_that_shows_new_icon)
如果是这样,我怎样才能使禁用信号或任何其他按钮条件可用?
示例:
btn.disabled.connect(self.some_function_that_shows_new_icon)
(检测按钮是否被禁用的信号,上面一个不起作用)
QIcons
可以有多个图像用于不同的 模式 和 状态 。您将多个 QPixmap
添加到同一个 QIcon
并指定该图像的模式和状态。
icon = QIcon()
icon.addPixmap(QPixmap('normal.png'))
icon.addPixmap(QPixmap('disabled.png'), QIcon.Disabled)
icon.addPixmap(QPixmap('clicking.png'), QIcon.Active)
icon.addPixmap(QPixmap('on.png'), QIcon.Normal, QIcon.On)
btn.setIcon(icon)
这取决于单击按钮是否会更改按钮的状态(例如,打开或关闭按钮)。如果您使用按钮来切换其他状态,这将不起作用。