Qt实现双击可编辑的QLabel,输入文本后回车确定
功能
环境:VS2013 + Qt5.8
在一个QLabel标签上,双击,对文本进行编辑,按下回车或者Esc,退出编辑状态,或者任意点击其他地方,退出Focus,退出编辑状态
Demo下载:https://download.csdn.net/download/birenxiaofeigg/12106229
代码实现
思路:通过stackedWidget,安装installFilter(),进行事件判断。
myLabelEdit::myLabelEdit(QWidget *parent): QMainWindow(parent){ui.setupUi(this);ui.label->setStyleSheet("background:yellow");ui.label->installEventFilter(this);ui.lineEdit->installEventFilter(this);}
事件处理:
bool myLabelEdit::eventFilter(QObject* obj, QEvent* evt)
{if (obj == ui.label){if (evt->type() == QEvent::MouseButtonDblClick){ui.lineEdit->setText(ui.label->text());ui.stackedWidget->setCurrentIndex(1);}}else if (obj == ui.lineEdit){if (evt->type() == QEvent::KeyPress){QKeyEvent* keyevt = static_cast<QKeyEvent*>(evt);if ((keyevt->key() == Qt::Key_Return) || (keyevt->key() == Qt::Key_Escape) || (keyevt->key() == Qt::Key_Enter)) // Qt::Key_Return是大键盘的回车键 Qt::Key_Enter是小键盘的回车键{ui.label->setText(ui.lineEdit->text());ui.stackedWidget->setCurrentIndex(0);}}else if (evt->type() == QEvent::FocusOut){ui.label->setText(ui.lineEdit->text());ui.stackedWidget->setCurrentIndex(0);}}return QMainWindow::eventFilter(obj, evt);
}
Demo下载:https://download.csdn.net/download/birenxiaofeigg/12106229
Qt实现双击可编辑的QLabel,输入文本后回车确定相关推荐
- c语言里输入12MmAA后回车,Word怎么用语言输入
回答:"制造"锦囊 快速给文字加下划线 如果在Word文档中,有一段带有空格键的文本,而现在只想给该段文本中的文字加上下划线,并且忽略其中的空格.此时,请选中该段文本,然后按下&q ...
- vue elementUI表单输入完成后回车触发事件@keyup.enter.native
<el-form-item label="源仓库namespace:"><!-- 回车触发事件 --><el-input v-model=" ...
- Flutter TextField 边框样式以及提示文本 、Flutter输入文本TextField
题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精. github? 你可能需要 百度同步 CSDN 网易云课堂教程 掘金 知乎 Flutter系列文章 头条同步 本文章首发于微信公众号( ...
- 使用 Powerapps 过程中解决过的问题 - 4 - 根据在搜索框中输入文本自动对数据源中不同的字段进行过滤和显示
在"解析Power Apps 自动生成的App - 2 - 浏览页面" 一文里, 有涉及到类似的问题.在自动生成的App 的浏览页面里,默认的为搜索框提供了下面的代码段: Ite ...
- Qt QGraphicsTextItem 实现双击进入编辑状态
要实现这个功能并不是很简单,因为QGraphicsTextItem的mousePressEvent和mouseDoubleClickEvent和其他类并不是很一样,重载senceEvent(QEven ...
- QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
一.环境介绍 操作系统介绍:win10 64位 QT版本: 5.12.6 二.功能介绍 最近做一个播放器的项目,需要用户自定义编辑定制视频的字幕:为了方便编辑字幕,这里QGraphicsTextIte ...
- Qt Designer的buddy编辑模式
Qt Designer的buddy编辑模式 Qt Designer的buddy编辑模式 将标签链接到buddy小部件 删除buddy连接 Qt Designer的buddy编辑模式 Qt最有用的基本功 ...
- Qt学习笔记(二十七):QLabel 的常用方法
一.QLabel 的构造函数: 1.QLabel(QWidget * parent = 0, Qt::WindowFlags f = 0):创建 QLabel 控件时,指定其父对象,并设置其窗口属性( ...
- QT表格双击弹出对话框
QT表格双击弹出对话框 QT版本5.0.3 文章目录 QT表格双击弹出对话框 1.效果预览 2.新建项目 3.添加表格类 4.创建对话框类 4.1 创建对话框类 4.2 在mydialog.h中定义对 ...
最新文章
- MySQL常见的几个错误汇总
- MySQL Order by 语句用法与优化详解
- 脚本编程语言python语言-python语言是脚本语言吗
- 【C#】特性标签中的属性解释
- C#中的数据类型转换
- ansys流固耦合分析与工程实例模型文件_平板射流冲击流固耦合分析
- IntelliJ IDEA for Mac 项目窗口详解(Project Windows)
- rman 脚本备份全过程
- go语言defer的作用
- vue中cookie的使用——将cookie放在请求头header中
- 我发现了25个影响力达20多年的 Windows 0day,微软刚修完11个
- 最简单的基于FFMPEG的音频编码器(PCM编码为AAC)
- 【keras/Tensorflow/pytorch】Conv2D和Conv2DTranspose详解
- qlv格式转mp4格式(简单、高效)
- centos7磁盘分区格式化
- LabelImage 安装过程
- PCB四层板常规层压结构及设计阻焊-深亚电子
- 【微观】需求、供给和均衡价格
- S7-200SMART案例分析——运动控制编程(三)
- 孟郎诗词网3.0版本问题总结