QComboBox setCurrentIndex 通过文本
QComboBox setCurrentIndex by text
我有一个 ComboBox,里面有不同的值:是,不是。
我可以通过从输入中收到的值来设置 ComboBox 吗?我不想通过索引#设置它。我也想尽量远离 if 语句。
我试过这样的事情:
self.UnlHE_Drop = QtWidgets.QComboBox(self.scrollAreaWidgetContents)
self.UnlHE_Drop.setObjectName("UnlHE_Drop")
self.UnlHE_Drop.addItem("")
self.UnlHE_Drop.setItemText(0, "")
self.UnlHE_Drop.addItem("")
self.UnlHE_Drop.addItem("")
def retranslateUi(self, VlS):
_translate = QtCore.QCoreApplication.translate
VlS.setWindowTitle(_translate("VlS", "Value"))
self.UnlHE_Drop.setItemText(1, _translate("VlS", "Yes"))
self.UnlHE_Drop.setItemText(2, _translate("VlS", "No"))
self.UnlHE_DropInfo = QInputDialog.getText(None, 'Answer:', 'Yes or No:')
self.UnlHE_Drop.setCurrentIndex(self.UnlHE_Drop.findText(self.UnlHE_DropInfo))
首先,您必须向 QComboBox 添加项目,因为当您使用 findText 时,您正在寻找这些项目,另一件事是 QInputDialog.getText returns 一个元组,第一个是输入的值,第二个是一个布尔值,表示您是否按下了“是”或“否”。
self.UnlHE_Drop = QtWidgets.QComboBox(self.scrollAreaWidgetContents)
self.UnlHE_Drop.addItems(["Yes", "No"])
UnlHE_DropInfo, ok = QInputDialog.getText(None, 'Answer:', 'Yes or No:')
if ok:
self.UnlHE_Drop.setCurrentText(UnlHE_DropInfo)
一旦该值已经是 QComboBox
中的一个选项,您可以使用 setCurrentText(QString text)
将其设置为该值。
我有一个 ComboBox,里面有不同的值:是,不是。
我可以通过从输入中收到的值来设置 ComboBox 吗?我不想通过索引#设置它。我也想尽量远离 if 语句。
我试过这样的事情:
self.UnlHE_Drop = QtWidgets.QComboBox(self.scrollAreaWidgetContents)
self.UnlHE_Drop.setObjectName("UnlHE_Drop")
self.UnlHE_Drop.addItem("")
self.UnlHE_Drop.setItemText(0, "")
self.UnlHE_Drop.addItem("")
self.UnlHE_Drop.addItem("")
def retranslateUi(self, VlS):
_translate = QtCore.QCoreApplication.translate
VlS.setWindowTitle(_translate("VlS", "Value"))
self.UnlHE_Drop.setItemText(1, _translate("VlS", "Yes"))
self.UnlHE_Drop.setItemText(2, _translate("VlS", "No"))
self.UnlHE_DropInfo = QInputDialog.getText(None, 'Answer:', 'Yes or No:')
self.UnlHE_Drop.setCurrentIndex(self.UnlHE_Drop.findText(self.UnlHE_DropInfo))
首先,您必须向 QComboBox 添加项目,因为当您使用 findText 时,您正在寻找这些项目,另一件事是 QInputDialog.getText returns 一个元组,第一个是输入的值,第二个是一个布尔值,表示您是否按下了“是”或“否”。
self.UnlHE_Drop = QtWidgets.QComboBox(self.scrollAreaWidgetContents)
self.UnlHE_Drop.addItems(["Yes", "No"])
UnlHE_DropInfo, ok = QInputDialog.getText(None, 'Answer:', 'Yes or No:')
if ok:
self.UnlHE_Drop.setCurrentText(UnlHE_DropInfo)
一旦该值已经是 QComboBox
中的一个选项,您可以使用 setCurrentText(QString text)
将其设置为该值。