QComboBox setCurrentIndex通过文本
问题描述:
我有内部的不同值的组合框:是,否QComboBox setCurrentIndex通过文本
我可以设置通过我从输入接收值的组合框?我不想通过索引号来设置它。我也想尽量远离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))
答
首先,你必须,因为当你使用你正在寻找这些项目FINDTEXT商品添加到QComboBox,另一件事是,QInputDialog .getText返回一个元组,第一个是输入的值,第二个是一个bool,指示您是否按下yes或no。
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)
答
一旦值已经INT的QComboBox
一个选项,你可以用setCurrentText(QString text)
将其设置为该值。
哪个返回'self.UnlHE_Drop.findText'函数? – eyllanesc
什么是'UnlHE_Drop'? – eyllanesc
一般来说,解决方案似乎是正确的,除非用户放置不合适的值。 – eyllanesc