QComboBox setCurrentIndex(按tex)

2024-10-01 15:28:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含不同值的组合框:是的,不是

我可以用从输入中接收的值来设置组合框吗?我不想用索引来设置它。我还想尽量远离if语句。在

enter image description here

我试过这样的方法:

    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))

Tags: 方法noselfif语句translatedropyes
2条回答

首先,您必须向QComboBox添加项,因为当您使用findText时,您正在查找这些项,另一件事是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)

一旦该值已经是QComboBox中的一个选项,就可以使用setCurrentText(QString text)将其设置为该值。在

相关问题 更多 >

    热门问题