我在 QLabel 中有一个 QPixmap,它根据 QComboBox 选择进行更改。例如,组合框可以选择水果(例如,“苹果”、“橙子”、“香蕉”)。如果我选择“苹果”,则会在 QLabel 中显示一个苹果的图像。我还希望根据是否切换 QRadioButton,将苹果的图像更改为苹果的“特殊”图像。一旦我取消切换单选按钮,图像应该恢复为标准的苹果图像。目前我有它的部分功能:如果在选择组合框选项之前将单选按钮切换为“打开”,则图像将根据需要显示;但是,如果我在选择组合框选项后将单选按钮切换为“开”,则仅显示标准图像。相似地,
我认为这与“toggled()”方法有关,但不确定如何实现它。
self.fruit_list = ['apple', 'orange', 'banana']
self.fruit_combo = QtGui.QComboBox()
self.fruit_combo.addItems(self.fruit_list)
self.btn = QtGui.QRadioButton("btn")
self.fruit_image = QtGui.QLabel(self)
self.grid.addWidget(self.fruit_image, 1, 1)
self.fruit_combo.currentIndexChanged[str].connect(lambda:
self.image_update(self.fruit_combo, self.fruit_image, self.btn)
def image_update(self, qcombobox, qlabel, btn):
image_path ="c :/images"
current_item = str(qcombobox.currentText())
if btn.isChecked():
current_image = '%s/%s_special.jpg' %(image_path, current_item)
else:
current_image = '%s/%s.jpg' %(image_path, current_item)
qlabel.setPixmap(QtGui.QPixmap(current_image))
谢谢