我有一个包含不同值的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))
答案 0 :(得分:2)
首先你必须向QComboBox添加项目,因为当你使用findText时你正在寻找那些项目,另一件事是QInputDialog.getText返回一个元组,第一个是输入的值,第二个是bool,表示是否你按是或否。
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)
答案 1 :(得分:1)
一旦该值已经成为QComboBox
中的一个选项,您就可以使用setCurrentText(QString text)
将其设置为该值。