我有一個QComboBox
我想要「自動」編輯。也就是說,用戶每次手動更改當前項目的文本時,該文本都應自動「落入」底層模型。可編輯QComboBox:與項目文本同步編輯文本
到目前爲止,我已經通過自定義信號處理程序達到了這一點:
void setupUi() {
...
connect(someComboBox,
SIGNAL(editTextChanged(QString)),
SLOT(comboBoxEditTextChanged(QString)));
...
}
void comboBoxEditTextChanged(const QString& text) {
someComboBox->setItemText(someComboBox->currentIndex(), text);
}
所以我想,有沒有可能用更少的代碼來做到這一點?我試過QComboBox::setInsertPolicy(QComboBox::InsertAtCurrent)
,但這沒有幫助。
編輯:用自定義槽當前方法工作正常 - 但我問,如果有這麼不涉及任何信號/插槽的方法。
模型/視圖模式的整點是視圖(QComboBox)o只能顯示數據。因此,在你給出的例子中,你只能改變QCombobox內部緩衝區中的數據(模型不應該改變)。你的插槽應該在模型上操作,而不是視圖 – friendzis 2012-07-20 10:55:25