gpt4 book ai didi

c++ - 可编辑 QComboBox : synchronize edit text with item text

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:31:22 26 4
gpt4 key购买 nike

我有一个 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),但这没有帮助。

编辑:当前带有自定义槽的方法工作正常 - 但我想问是否有一种方法不涉及任何信号/槽。

最佳答案

要在用户更改文本时自动设置文本,我们可以按如下方式编辑您的广告位:

void comboBoxEditTextChanged( const QString& text ) 
{
int index = someComboBox->findText(text);
if(index != -1)
{
someComboBox->setCurrentIndex(index);
}
someComboBox->setItemText( someComboBox->currentIndex(), text );
}

我希望这能解决你的问题

关于c++ - 可编辑 QComboBox : synchronize edit text with item text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11575268/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com