这学期一定好好学习 2023-07-21 20:54 采纳率: 0%
浏览 32

qcombobox设置搜索框

给每一个combobox(idea数组)设置一个搜索框completer(ideaFilter数组),但是不起作用

idea[i].setEditable(true);
        ideaFilter[i].setParent(this);
        ideaFilter[i].setCompletionMode(QCompleter::PopupCompletion);
        ideaFilter[i].setFilterMode(Qt::MatchContains);
        idea[i].setCompleter(&(ideaFilter[i]));

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-21 23:02
    关注
    • 以下回答由chatgpt基于相关博客总结生成:

      在QComboBox上添加搜索框的方法是使用QComboBox的setLineEdit()函数,并将其参数设置为一个新的QLineEdit对象。以下是示例代码:

      #include <QComboBox>
      #include <QLineEdit>
      
      // 创建QComboBox对象
      QComboBox *comboBox = new QComboBox();
      
      // 创建QLineEdit对象
      QLineEdit *lineEdit = new QLineEdit();
      lineEdit->setPlaceholderText("搜索选项");
      
      // 将QLineEdit设置为QComboBox的搜索框
      comboBox->setLineEdit(lineEdit);
      

      在上面的示例中,我们创建了一个新的QComboBox对象和一个新的QLineEdit对象。然后,我们使用setLineEdit()函数将lineEdit对象设置为comboBox的搜索框。您可以根据需要自定义QLineEdit对象的样式和功能。

      对于存储在名为"ideas"的数组中的多个QComboBox,您可以使用循环为每个QComboBox添加搜索框。以下是示例代码:

      #include <QVector>
      #include <QComboBox>
      #include <QLineEdit>
      
      // 创建一个QVector来存储多个QComboBox
      QVector<QComboBox*> ideas;
      
      // 创建QLineEdit对象
      QLineEdit *lineEdit = new QLineEdit();
      lineEdit->setPlaceholderText("搜索选项");
      
      // 为每个QComboBox添加搜索框
      for (int i = 0; i < ideas.size(); i++) {
          QComboBox *comboBox = ideas.at(i);
          comboBox->setLineEdit(lineEdit);
      }
      

      在上面的示例中,我们创建了一个QVector来存储多个QComboBox的指针,然后创建了一个QLineEdit对象。然后,我们使用循环将QLineEdit对象设置为每个QComboBox的搜索框。这样,每个QComboBox现在都有一个相同的搜索框。您可以根据需要自定义QLineEdit对象的样式和功能。

    评论

报告相同问题?

问题事件

  • 创建了问题 7月21日

悬赏问题

  • ¥15 嵌入式设备网口down后再up时不能link?
  • ¥15 关于区块链和边缘计算
  • ¥15 做一个简单项目,用Python分析共享单车的数据
  • ¥20 在使用CESM2.2.0模型进行case.submit过程中出现如下错误(关键词-Map)
  • ¥15 有办法改变通过wifi进入的网站的设置吗
  • ¥15 所以到底怎么算!算到凌晨五点都算不出来!
  • ¥15 label_studio
  • ¥15 请教如何phython发邮件
  • ¥15 linux系统安装问题
  • ¥15 路径规划如何采用矢量法让他们尽量在一个方向