【QT】 QComboBox实现可下拉可编辑
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实现可下拉可编辑相关推荐
- Qt实现复选下拉框 C++
文章目录 一.QListWidget+QListWidgetItem 二.activate(int) 总结 一.QListWidget+QListWidgetItem 实现QComboBox下拉框复选 ...
- miniui列表下拉允许编辑且保存_办公小技巧:请个好用的文本代码编辑器
作为经常处理多文本的教职员.编辑人员.程序员,若仅用记事本作为文本或代码编辑工具,会感到功能严重不足.改用免费的高级编辑器Text Editor Pro,便会大大提高文本和代码的处理效率. 1. 又快 ...
- miniui列表下拉允许编辑且保存_如何使用Photoshop 15浏览照片编辑器
1.浏览照片编辑器界面 与管理器一样,菜单栏出现在"照片编辑器"窗口的顶部. 菜单栏包含用于在"照片编辑器"中编辑图像的命令和工具. 菜单栏下方是照片编辑器模式 ...
- miniui列表下拉允许编辑且保存_在职必备,下拉列表|Excel
欢迎您的到来! 报表数据分析,单元格内容格式不统一,相信是报表君们最头疼的事情.想要避免格式不统一的问题,其实很简单:只需我们在收集报表模板发出前,预先对待统计列内容格式进行标准化设定,然后由基础信息 ...
- QT为pushButton添加下拉菜单,并添加信号槽
//需要在头文件添加 //public: //void creatpushbottonmenu(); void MainWindow::creatpushbottonmenu()//初始化按钮 {QM ...
- QComboBox的下拉多选
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.QComboBox的下拉多选 二.实现原理 1.下拉框点击不隐藏 2.选中下拉项内容显示 总结 前言 Qt的QCo ...
- Qt 禁用ComboBox下拉选项
本文提供连两种禁用ComboBox下拉选项的方法,一种是全部禁用,一种是的单个禁用! 1 全部禁用 功能:使ComboBox无法选择下拉选项 实现:调用ComboBox父类QWidget的setEna ...
- vue2+element-ui创建顶部导航栏及下拉菜单
vue2+element-ui创建顶部导航栏及下拉菜单 引入顶部导航栏 使用下拉菜单 获取Vuex store数据 配置Vuex store 定义logout方法 引入顶部导航栏 创建client/s ...
- QT设计中,样式不一致的问题(以QComboBox的下拉箭头为例)
还是那句话,我是初次接触QT和C++,我的文章适合比我还小白的人看. 问题描述 最近在做C++的QGIS二次开发,遇到一个问题. 在QT Designer(QT Creater中同理)中进行设计,发现 ...
最新文章
- 微软Win8将有多个版本 四款面向ARM平台
- swift如何打印对象的地址
- Java 学习(21)--集合笔试题
- 高并发编程-happens-before
- linux 添加开机自启动脚本
- 线程控制 12 | 线程属性
- 单片机c语言编程要点,第1章单片机的C语言编程_2015要点.ppt
- go语言如何调用java接口,[译] 如何在 Go 中使用接口
- 数据:以太坊2.0合约24小时新增2.04万ETH
- Ubuntu 使用 Cron 实现计划任务
- VBScript: 正则表达式(RegExp对象)
- FastFDS文件服务部署
- 【电子技术】【2019.03】【含源码】低成本转子动力学数据采集系统的设计
- 偏见与苛求在科技媒体中依旧根深蒂固
- plsql的注册激活
- 笔记本html外接显示器,笔记本怎么外接显示器 笔记本用外接显示器设置教程
- USACO3.2.4 Feed Ratios (ratios)
- mysql存储过程之错误处理
- U盘插入后在“我的电脑”里找不到u盘
- Revit中创建基于线的砌体墙及【快速砌体排砖】
热门文章
- vab set dim
- 苹果xsmax有高通基带吗_苹果和高通和解后:基带芯片还没换,但被删的动画回来了!...
- 苹果xsmax有高通基带吗_苹果iPhone 12深度拆解:内置高通X55基带!信号超稳
- 抽奖过程公布,我用了一款有故事的抽奖工具
- 抖音搜索排名,抖音优化,视频AI混剪原创更高实现创意内容,权限接口关闭,技术如何研发?
- 汽车出入库的计时计费系统设计
- 2015 c语言高考题,高考英语真题全国卷
- 盈通rx580游戏高手 bios_警告!盈通RX580 2048SP疑似采用二手显存颗粒
- Matlab学习笔记(3)—GUI程序设计与图像处理基本操作
- GraspNet-1Billion中graspnet结构