我有一个带有多个选项的组合框,我想在选择特定选项时显示标签,并在选择其他选项时隐藏标签。我想在用户在组合框中选择选项后立即实现。我尝试使用currentindexchanged()做到这一点,但它适用于所有选项。
例如,如果我选择选项1,则应显示标签,而当我选择选项2时,该标签应消失。
请帮助我实现这一目标。
答案 0 :(得分:0)
# -*- coding: utf-8 -*-
import sys
import os
from PySide2 import QtCore, QtGui, QtWidgets
class MainWindow(QtWidgets.QWidget):
def __init__(self):
super(MainWindow, self).__init__()
self.__ui__()
def __ui__(self):
layout_parent = QtWidgets.QVBoxLayout()
data_list = ["option1", "option2", "option3", "option4", "option5", "option6"]
self.comboBox = QtWidgets.QComboBox()
self.comboBox.addItems(data_list)
self.comboBox.currentIndexChanged.connect(self.currentIndexChanged)
self.label = QtWidgets.QLabel("Hello World!")
layout_parent.addWidget(self.comboBox)
layout_parent.addWidget(self.label)
self.setLayout(layout_parent)
def currentIndexChanged(self, index):
if self.comboBox.itemText(index) == "option1":
self.label.show()
else:
self.label.hide()
if __name__=='__main__':
app = QtWidgets.QApplication(sys.argv)
mainWin = MainWindow()
mainWin.show()
sys.exit(app.exec_())