[Qt]使用到 disconnect 的地方

前言

场景: 有一个combobox,里面可能有很多项,测试一看用得不爽啊,要是正好是选择最后一个那我岂不是要操作半天,提出要求要做成有输入自动补全的类似浏览器的这种功能
在这里插入图片描述
输入对应的字符然后有一个过滤的下拉列表然后选择想要的项。程序员一听心想我去Qt的combobox支持这个功能吗?不支持是不是还得自定义,怀着忐忑的心情bing一下。有对应的接口 setCompleter。好了几分钟搞定

QStringList strings;
QComboBox *comboBox = new QComboBox();
strings << "Biao" << "Biao Huang" << "Mac" << "MacBook" << "MacBook Pro" << "Mac Pro"; 
comboBox->addItems(strings);  
comboBox->setEditable(true);  
completer = new QCompleter(strings, this);
ui->comboBox->setCompleter(completer);//绑定completer到combobox

bug

测试一测嗯功能实现了,后来用着发现不对啊,要是我随便输入几个字符,然后点击enter键,这样当前的选择项就是我当前的字符,就相当于凭空造出了一个数据,这样就会导致更多问题,这至少是一级bug,提。当comboBox设置可以编辑后,随便输入字符点击确定后comboBox会增加一项。明显是comboBoxlineEdit的信号连接上了comboBox的某一个槽函数。我们只要断开这个链接然后携手直接的槽函数,如果输入的字符不是comboBox的项点击确认后就直接替换为第一项。
setLineEdit

disconnect(combobox->lineEdit(), &QLineEdit::returnPressed, nullptr, nullptr);
connect(combobox->lineEdit(), &QLineEdit::returnPressed, this, [](){});

disconnect 还有很多重载,支持很多用法,详见Qt帮助手册 disconnect关键词

相关推荐

  1. QT 信号和槽 解除关联示例 disconnect

    2024-04-05 12:42:03       10 阅读
  2. Qt之漂亮地球

    2024-04-05 12:42:03       31 阅读
  3. QT--splitter使用

    2024-04-05 12:42:03       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-05 12:42:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-05 12:42:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-05 12:42:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-05 12:42:03       20 阅读

热门阅读

  1. 嵌入式开发中装饰者模式实现

    2024-04-05 12:42:03       14 阅读
  2. 每天学习一个Linux命令之mount

    2024-04-05 12:42:03       15 阅读
  3. SAP-MM-库龄报表

    2024-04-05 12:42:03       16 阅读
  4. 接龙序列(动态规划c++实现)

    2024-04-05 12:42:03       16 阅读
  5. golang channel实践代码及注意事项

    2024-04-05 12:42:03       15 阅读
  6. CentOS 使用 Cronie 实现定时任务

    2024-04-05 12:42:03       14 阅读
  7. 代码随想录-图论

    2024-04-05 12:42:03       13 阅读
  8. spring boot admin服务端配置邮件通知、钉钉通知

    2024-04-05 12:42:03       13 阅读
  9. 关于c# 没有显式头文件的优劣分析

    2024-04-05 12:42:03       13 阅读
  10. MD5加密返回32位密文字符串

    2024-04-05 12:42:03       12 阅读
  11. 什么是中间件

    2024-04-05 12:42:03       11 阅读