Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python QComboBox设置当前文本索引_Python_Python 3.x_Pyqt_Pyqt5_Qcombobox - Fatal编程技术网

Python QComboBox设置当前文本索引

Python QComboBox设置当前文本索引,python,python-3.x,pyqt,pyqt5,qcombobox,Python,Python 3.x,Pyqt,Pyqt5,Qcombobox,我有一个组合框,里面有不同的值:是,否 我可以通过从输入中接收的值来设置组合框吗?我不想按索引设置它。我还想尽量避免使用if语句 我试过这样的方法: self.UnlHE_Drop = QtWidgets.QComboBox(self.scrollAreaWidgetContents) self.UnlHE_Drop.setObjectName("UnlHE_Drop") self.UnlHE_Drop.addItem("") self.UnlHE_Drop.s

我有一个组合框,里面有不同的值:是,否

我可以通过从输入中接收的值来设置组合框吗?我不想按索引设置它。我还想尽量避免使用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返回元组,第一个是输入的值,第二个是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)

首先,您必须将项添加到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)

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

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

返回
self.UnlHE_Drop.findText
函数?什么是
UnlHE_Drop
?通常情况下,解决方案似乎是正确的,除非用户放置了不适当的值。UnlHE_Drop是组合框的名称。当我尝试使用我粘贴的内容时,它不会设置任何值。它是空的,下拉列表被禁用。您是否已将项添加到QComboBox?它返回
self.UnlHE_Drop.findText
函数?什么是
UnlHE_Drop
?通常,解决方案似乎是正确的,除非用户放置了不适当的值。UnlHE_Drop是组合框的名称。当我尝试使用我粘贴的内容时,它不会设置任何值。它是空的,下拉列表不可用您是否已将项目添加到QComboBox?