[英]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.