[英]PyQt4 editable combobox current text
我正在使用可编辑的QComboBox。 我想要实现的是能够在字段中键入查询并在按Enter键后运行该查询。 但无论如何尝试获取类型查询,组合框的值始终是列表中的第一项,而不是我刚刚键入的字符串。 我尝试使用self.query_combo.lineEdit().text()
和self.query_combo.currentText()
来获取文本,但在任何情况下我都无法在该字段中获取实际的当前文本值。
有谁知道为什么会这样以及如何解决呢?
self.query_combo = QComboBox(query_box)
self.query_combo.setEditable(True)
query_box.layout().addWidget(self.query_combo)
# combo box is filled with some example items
然后,用户继续输入输入文本。 键入时,“开始查询”按钮将突出显示。 因此,当用户按下Enter键(尖号仍在编辑字段中)时,小部件将按下该按钮并开始查询。 在查询方法中,代码如下:
def run_initial_query(self):
# Query keywords.
qkw = self.query_combo.currentText()
# or
qkw = self.query_combo.lineEdit().text()
但都不会产生新输入的值。 组合框始终选择列表中的第一个示例列表项。 我感觉使用QLineEdit会遇到较少的问题,但是不幸的是这不是一个选择。
我设法以这种方式做你想要的
def __init__(self):
...
self.ui.comboBox.currentIndexChanged.connect(self.run_initial_query)
def run_initial_query(self):
#Do stuff
print self.ui.comboBox.currentText()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.