0

我有一个包含多个选项的组合框,我想在选择特定选项时显示标签,并在选择其他选项时隐藏标签。我想在用户选择组合框中的选项后立即实现这一点。我尝试使用 currentindexchanged() 来做到这一点,但它适用于所有选项。

例如,如果我选择选项 1 应该显示标签,当我选择选项 2 时,标签应该消失。

请帮助我实现这一目标。

4

1 回答 1

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_())
于 2018-10-12T07:49:04.720 回答