提要

自定义行编辑器,点击后弹出颜色选择对话框,选择喜欢的颜色,确认后在行编辑器加载选中的颜色。

效果



选中某一个颜色后,行编辑器中加载所选的颜色。

示例

mylineedit.h

#ifndef MYLINEEDIT_H
#define MYLINEEDIT_H#include <QWidget>
#include <QLineEdit>/******类功能描述:自定义行编辑器,可加载颜色*****/
class myLineEdit : public QLineEdit
{Q_OBJECT
public:myLineEdit(QWidget *parent = nullptr);~myLineEdit();void setBackgroundColor(QColor &color);//设置颜色QColor getBackgroundColor();//获取设置的颜色protected:void paintEvent(QPaintEvent *event);//绘制编辑框的背景色void mousePressEvent(QMouseEvent *event);//鼠标点击出现颜色对话框
private:QColor m_color;//保存行编辑器的背景色
};#endif // MYLINEEDIT_H

mylineedit.cpp

#include "mylineedit.h"
#include <QMouseEvent>
#include <QColorDialog>
#include <QFontDialog>myLineEdit::myLineEdit(QWidget *parent)
:QLineEdit(parent)
{m_color = QColor(255,170,127,255);setReadOnly(true);//设置不可编辑
}myLineEdit::~myLineEdit()
{}void myLineEdit::setBackgroundColor(QColor &color)
{m_color = color;update();
}QColor myLineEdit::getBackgroundColor()
{return m_color;
}void myLineEdit::paintEvent(QPaintEvent *event)
{QPalette pal;pal.setBrush(QPalette::Base,QColor(m_color));setPalette(pal);QLineEdit::paintEvent(event);
}void myLineEdit::mousePressEvent(QMouseEvent *event)
{if(event->button() == Qt::LeftButton){QColorDialog colorDlg(this);colorDlg.setFixedSize(600,500);colorDlg.setWindowTitle("颜色选择对话框");colorDlg.setCurrentColor(QColor(170,0,0,255));if(colorDlg.exec() == QColorDialog::Accepted){QColor color = colorDlg.currentColor();setBackgroundColor(color);}}QLineEdit::mousePressEvent(event);
}

以上便可以实现行编辑器用来加载颜色,使用时将该类的头文件和源文件拷进到项目中,包含该类的头文件,在ui文件中拖入QLineEdit控件,在控件上右键,选择提升为,弹出提升的窗口部件对话框,填写提升的类名称时,将类名myLineEdit直接拷贝到提升的类名称的后面的编辑框中,会自动加载下面的头文件后面的内容,勾选全局包含时,整个程序中的QLineEdit控件都可以使用该类来提升,点击添加按钮,然后点击提升按钮。原本的行编辑器就变为了自定义的行编辑器。

qt自定义行编辑器,用来加载颜色相关推荐

  1. 百度编辑器Ueditor 初始化加载内容失败解决办法

    原文地址为: 百度编辑器Ueditor 初始化加载内容失败解决办法 项目上有用到百度文本编辑器ueditor,在页面加载的时候初始化编辑器内容时候,使用 $.document.ready(functi ...

  2. android 自定义view 动画效果,Android自定义view实现阻尼效果的加载动画

    效果: 需要知识: 1. 二次贝塞尔曲线 2. 动画知识 3. 基础自定义view知识 先来解释下什么叫阻尼运动 阻尼振动是指,由于振动系统受到摩擦和介质阻力或其他能耗而使振幅随时间逐渐衰减的振动,又 ...

  3. html自定义字体缓存,PixiJS:加载自定义字体

    Environement: Xampp,Firefox,Pixijs,HTML,CSS 现在我尝试加载自定义字体. 我第一次加载我的Pixijs项目应运行的页面时,字体没有显示,控制台显示一些错误消息 ...

  4. 自定义指令实现图片懒加载

    Vue自定义指令实现图片懒加载 其实实现懒加载的方式有很多了,现在也有很多插件(比如:vue-lazyload等),element-ui库中也有图片懒加载的方式,所以大家根据自己的喜欢选择就可以了 I ...

  5. android 自定义加载动画效果,Android自定义View实现loading动画加载效果

    项目开发中对Loading的处理是比较常见的,安卓系统提供的不太美观,引入第三发又太麻烦,这时候自己定义View来实现这个效果,并且进行封装抽取给项目提供统一的loading样式是最好的解决方式了. ...

  6. Qt Quick 3D学习:模型加载

    (注意,开源版的 Qt Quick 3D 是狗都不用的 GPL 协议) Qt Quick 3D 模块提供了 Model 类型用于 3D 模型加载,通过设置 source 的资源路径来加载对应的 3D ...

  7. 自定义Launcher桌面图标无法加载的问题

    通过之前的文章,我们知道在Launcher的源码中是通过加载default_workspace.xml这个配置文件来显示桌面的图标和小部件的,今天项目一测试,发现自定义的桌面图标加载不出来了,之前都是 ...

  8. 自定义动画(仿Win10加载动画)——优化

    此为前文章写的仿Win10加载动画的优化版 源代码 已更新到github 优化分析 原生 自定义高仿(v1版) 一直觉得自己写的与原生的有差别,经过仔细对比观察,发现: 原生的圆点出发位置不是都在底部 ...

  9. Vue自定义指令实现下拉加载:v-loadmore

    和methods平级: directives: {loadmore: {//自定义指令: 下拉加载bind(el, binding) { var p = 0; var t = 0; var down ...

最新文章

  1. “诺奖风向标”沃尔夫奖出炉:数学颁给表示论,物理颁给激光
  2. 发布地图服务属性表_Web3D地图来了!腾讯位置服务正式版发布!
  3. 音频录入后以不同采样率输出
  4. 天涯明月刀7月4号服务器维护,7月8日服务器例行维护公告
  5. React开发(262):react中活动时间回显用moment
  6. linux终端下的网页浏览器w3m
  7. 在线CSV转TSV工具
  8. 2019-2020-1 20175313 《信息安全系统设计基础》第一周学习总结
  9. uclient uc oracle,UClient下载
  10. 《C》C语言编程实现指定阶“m序列”并通过gnuplot绘图
  11. 【论文阅读笔记】Beamforming Optimization for Wireless Network Aided by IRS with Discrete Phase Shifts
  12. 计算机 取得高级权限,怎么获取电脑的最高管理员权限
  13. 熊乃学 计算机,吴谋博士研究成果在权威期刊在线发表
  14. windows PC/SC 常用Scard前缀函数说明
  15. android 转场动画 监听,Android 中的转场动画及兼容处理
  16. jieba结巴分词加入自定义词典
  17. 在安卓手机安装Linux
  18. 01-邂逅React开发
  19. 服务端指南 数据存储篇 | MySQL(03) 如何设计索引
  20. 应对不确定性的一个有效手段是重塑企业的使命、愿景和价值观。

热门文章

  1. 上海鸥新:基于大数据的商场实时客流分析系统
  2. “新基建”提速,工业互联网大数据发展迎新机遇
  3. 云原生下日志方案的架构设计
  4. 十年磨一剑:从2009启动“去IOE”工程到2019年OceanBase拿下TPC-C世界第一
  5. 就是要你懂负载均衡--lvs和转发模式
  6. UI2CODE再进化!结合Redux的框架升级!
  7. 云栖专辑 | 阿里开发者们的第12个感悟:多维思考,胜过盲目苦干
  8. 玩转CocoaPods
  9. 看完这一篇,你就对 Spring Security 略窥门径了 | 原力计划
  10. ETL异构数据源Datax_MySQL同步Oracle(全量)_07