1.设置可编辑模式

comboBox->setEditable(true);

2.设置可编辑模式后,可以获取comboBox里QLineEdit

指向comboBox对应的QLineEdit,注意非可编辑模式,该对象为NULL

comboBox->lineEdit() 

3.clearEditText可以被用来清除用于显示的字符串而不改变ComboBox的内容。

comboBox->clearEditText();

4.密保问题,一般最后一项都是自定义,此处可以配合QLineEdit代理实现

QLineEdit *lineEditQ1 = new QLineEdit (this);lineEditQ1->setReadOnly(true);lineEditQ1->setPlaceholderText("Customized Question");comboBox->setLineEdit(lineEditQ1);connect(ui->comboBox_question1, SIGNAL(currentIndexChanged(int)), this, SLOT(slotChangeQuestion(int)));void xxx::slotChangeQuestion(int index)
{CustomComboBox *senderComBox = static_cast<CustomComboBox *>(sender());if (index == SQA_CUSTOMIZED_NO){senderComBox->lineEdit()->setReadOnly(false);senderComBox->lineEdit()->clear();}else{comboBox->lineEdit()->setReadOnly(true);}
}

5.在4的基础上实现,会出现在QLineEdit设置为只读模式时,点击后下拉选项闪一下又没掉的问题,需要重写combobox的hidePopup函数

connect(lineEditQ1,SIGNAL(sigClicked()),this,SLOT(virtualKeyboardUpdatePosition()));void UserSetting::virtualKeyboardUpdatePosition()
{CustomLineEdit *senderComBox = static_cast<CustomLineEdit *>(sender());if (senderComBox == this->lineEditQ1){if (!this->lineEditQ1->isReadOnly()){;//edit enabled}else{comboBox->setShow();}}}void hidePopup() override;
void setShow();
bool _editMode;void CustomComboBox::hidePopup()
{if (_editMode){_editMode = false;}else{QComboBox::hidePopup();}
}void CustomComboBox::setShow()
{_editMode = true;this->showPopup();
}

6.获取当前combobox内容

comboBox->currentText().trimmed()

【QT】 QComboBox实现可下拉可编辑相关推荐

  1. Qt实现复选下拉框 C++

    文章目录 一.QListWidget+QListWidgetItem 二.activate(int) 总结 一.QListWidget+QListWidgetItem 实现QComboBox下拉框复选 ...

  2. miniui列表下拉允许编辑且保存_办公小技巧:请个好用的文本代码编辑器

    作为经常处理多文本的教职员.编辑人员.程序员,若仅用记事本作为文本或代码编辑工具,会感到功能严重不足.改用免费的高级编辑器Text Editor Pro,便会大大提高文本和代码的处理效率. 1. 又快 ...

  3. miniui列表下拉允许编辑且保存_如何使用Photoshop 15浏览照片编辑器

    1.浏览照片编辑器界面 与管理器一样,菜单栏出现在"照片编辑器"窗口的顶部. 菜单栏包含用于在"照片编辑器"中编辑图像的命令和工具. 菜单栏下方是照片编辑器模式 ...

  4. miniui列表下拉允许编辑且保存_在职必备,下拉列表|Excel

    欢迎您的到来! 报表数据分析,单元格内容格式不统一,相信是报表君们最头疼的事情.想要避免格式不统一的问题,其实很简单:只需我们在收集报表模板发出前,预先对待统计列内容格式进行标准化设定,然后由基础信息 ...

  5. QT为pushButton添加下拉菜单,并添加信号槽

    //需要在头文件添加 //public: //void creatpushbottonmenu(); void MainWindow::creatpushbottonmenu()//初始化按钮 {QM ...

  6. QComboBox的下拉多选

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.QComboBox的下拉多选 二.实现原理 1.下拉框点击不隐藏 2.选中下拉项内容显示 总结 前言 Qt的QCo ...

  7. Qt 禁用ComboBox下拉选项

    本文提供连两种禁用ComboBox下拉选项的方法,一种是全部禁用,一种是的单个禁用! 1 全部禁用 功能:使ComboBox无法选择下拉选项 实现:调用ComboBox父类QWidget的setEna ...

  8. vue2+element-ui创建顶部导航栏及下拉菜单

    vue2+element-ui创建顶部导航栏及下拉菜单 引入顶部导航栏 使用下拉菜单 获取Vuex store数据 配置Vuex store 定义logout方法 引入顶部导航栏 创建client/s ...

  9. QT设计中,样式不一致的问题(以QComboBox的下拉箭头为例)

    还是那句话,我是初次接触QT和C++,我的文章适合比我还小白的人看. 问题描述 最近在做C++的QGIS二次开发,遇到一个问题. 在QT Designer(QT Creater中同理)中进行设计,发现 ...

最新文章

  1. 微软Win8将有多个版本 四款面向ARM平台
  2. swift如何打印对象的地址
  3. Java 学习(21)--集合笔试题
  4. 高并发编程-happens-before
  5. linux 添加开机自启动脚本
  6. 线程控制 12 | 线程属性
  7. 单片机c语言编程要点,第1章单片机的C语言编程_2015要点.ppt
  8. go语言如何调用java接口,[译] 如何在 Go 中使用接口
  9. 数据:以太坊2.0合约24小时新增2.04万ETH
  10. Ubuntu 使用 Cron 实现计划任务
  11. VBScript: 正则表达式(RegExp对象)
  12. FastFDS文件服务部署
  13. 【电子技术】【2019.03】【含源码】低成本转子动力学数据采集系统的设计
  14. 偏见与苛求在科技媒体中依旧根深蒂固
  15. plsql的注册激活
  16. 笔记本html外接显示器,笔记本怎么外接显示器 笔记本用外接显示器设置教程
  17. USACO3.2.4 Feed Ratios (ratios)
  18. mysql存储过程之错误处理
  19. U盘插入后在“我的电脑”里找不到u盘
  20. Revit中创建基于线的砌体墙及【快速砌体排砖】

热门文章

  1. vab set dim
  2. 苹果xsmax有高通基带吗_苹果和高通和解后:基带芯片还没换,但被删的动画回来了!...
  3. 苹果xsmax有高通基带吗_苹果iPhone 12深度拆解:内置高通X55基带!信号超稳
  4. 抽奖过程公布,我用了一款有故事的抽奖工具
  5. 抖音搜索排名,抖音优化,视频AI混剪原创更高实现创意内容,权限接口关闭,技术如何研发?
  6. 汽车出入库的计时计费系统设计
  7. 2015 c语言高考题,高考英语真题全国卷
  8. 盈通rx580游戏高手 bios_警告!盈通RX580 2048SP疑似采用二手显存颗粒
  9. Matlab学习笔记(3)—GUI程序设计与图像处理基本操作
  10. GraspNet-1Billion中graspnet结构