QComboBoxの選択に基づいて変更されたQLabel内にQPixmapがあります。例えば、コンボボックスは、果物(例えば、「リンゴ」、「オレンジ」、「バナナ」)の選択を有することができる。私が「りんご」を選ぶと、リンゴのイメージがQLabelに表示されます。 QRadioButtonがトグルされているかどうかに応じて、リンゴのイメージをリンゴの「特別な」イメージに変更する必要があります。ラジオボタンを非表示にすると、イメージは標準のリンゴイメージに戻ります。現在、私はそれが部分的に機能しています:コンボボックスオプションを選択する前にラジオボタンがオンになっていると、イメージは必要に応じて表示されます。ただし、コンボボックスオプションを選択した後にラジオボタンをオンにすると、標準画像のみが表示されます。同様に、特別な画像を表示し、ラジオボタンをトグル解除すると、画像は標準画像に戻らない。QComboBoxに関連付けられたQRadioButtonが切り替えられたときにPyQt QLabelを更新する
これは "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))
おかげ
最小限、作業例を作成する - そう誰もがそれを実行することができます。 – furas
ああ、お詫び申し上げます。関連するコードのみを最小化しようとしていた。 – zachn