更改 QLineEdit 中占位符文本的颜色

2023-11-22

当我设置占位符文本时QLineEdit::setPlaceholderText(),显示为灰色。

enter image description here

有什么办法可以将颜色更改为其他颜色,例如红色?


你必须子类化QLineEdit并在其中绘制您自己的占位符paintEvent().

class CustomColorPlaceholderLineEdit : public QLineEdit
{
public:
    CustomColorPlaceholderLineEdit(QWidget * parent = 0) : QLineEdit(parent) { color = QColor(0,0,0,128); }
    void setCustomPlaceholderText(const QString &text) { this->mText = text; }
    const QString &customPlaceholderText() const { return mText; }
    void setCustomPlaceholderColor(const QColor &color) { this->color = color; }
    const QColor &customPlaceholderColor() const { return color; }
    void paintEvent(QPaintEvent *event) {
        QLineEdit::paintEvent(event);
        if (!hasFocus() && text().isEmpty() && !mText.isEmpty()) {
            // QLineEdit's own placeholder clashes with ours.
            Q_ASSERT(placeholderText().isEmpty());
            QPainter p(this);
            p.setPen(color);
            QFontMetrics fm = fontMetrics();
            int minLB = qMax(0, -fm.minLeftBearing());
            QRect lineRect = this->rect();
            QRect ph = lineRect.adjusted(minLB + 3, 0, 0, 0);
            QString elidedText = fm.elidedText(mText, Qt::ElideRight, ph.width());
            p.drawText(ph, Qt::AlignVCenter, elidedText);
        }
    }
private:
    QString mText;
    QColor color;
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改 QLineEdit 中占位符文本的颜色 的相关文章

  • C++ 返回值、引用、const 引用

    你能向我解释一下返回值 值引用和值常量引用之间的区别吗 Value Vector2D operator const Vector2D vector this gt x vector x this gt y vector y return t
  • 如何使用 ILoggerFactory 记录 Polly 的重试

    或者 如何从静态方法记录 From https github com App vNext Polly https github com App vNext Polly你有这样的例子 其中记录器神奇地可用 Policy Timeout 30
  • 如何在线程创建和退出时调用函数?

    include
  • 如何启动异步任务对象

    我想开始收集Task同时处理对象并等待所有对象完成 下面的代码显示了我想要的行为 public class Program class TaskTest private Task createPauseTask int ms works w
  • 使用预编译头减少 clang 编译时间

    我正在开发一个数据库项目 该项目将查询 以某种高级语言表示 编译为 C 代码 这段代码由数据库编译并执行 那部分工作得很好 现在 我正在尝试减少 C 查询代码的编译时间 我想知道是否可以使用预编译头来提高性能 该查询被转换为一个名为 Que
  • 操作/Lambda 表达式内存管理问题

    我将一个操作存储在局部变量中 然后在该局部变量超出范围后使用 使用前是否有被清理的危险 这是一个例子 public List GetMaps Action
  • 无缝滚动瓷砖地图

    我正在开发一个自上而下的角色扮演游戏 并且想要实现无缝滚动地图 也就是说 当玩家探索世界时 地图之间没有加载屏幕 也没有通往下一个区域的 门 我有两种方法可以打破世界 在顶层 我有 区域 它只是 9 个 地图 的集合 这些区域仅由目录表示
  • 捕获另一个进程未处理的异常

    我想知道我是否可以捕获我开始使用 Process Start 的另一个进程抛出的未处理的异常 我知道我可以用这个捕获标准错误link http social msdn microsoft com Forums en US csharpgen
  • 如何强制用户仅使用“new”创建从我派生的类的对象?

    为了实现引用计数 我们使用IUnknown http msdn microsoft com en us library ms680509 VS 85 aspx类接口和智能指针模板类 该接口具有所有引用计数方法的实现 包括Release vo
  • C++ 错误:从“char”到“const char*”的转换无效

    我对 C 完全陌生 我创建了这个函数 bool guessWord string compWord cout lt lt Guess a letter string userLetter cin gt gt userLetter for u
  • 使用 INotifyPropertyChanged

    有人可以解释一下为什么在 wpf 中使用绑定时需要使用 INotifyPropertyChanged 的 实现吗 我可以在不实现此接口的情况下绑定属性吗 例如我有代码 public class StudentData INotifyProp
  • 使用 QGraphicsScene 实现流畅的动画

    我希望我的问题并不总是同样的问题 我有一个 QGraphicsScene 它的项目是一些 QGraphicsPixmap 我用一个计时器来移动它们 每秒 SetX 10 我设置 10是因为窗口大100 使用这个解决方案我的动画不流畅 我想我
  • 该组件没有由 uri 标识的资源

    我想创建一个通用数据网格以在我的所有视图 用户控件上使用 这是我的结构 Class Library called Core Class called ViewBase public class ViewBase UserControl pu
  • 如何解决内存碎片

    我们偶尔会遇到这样的问题 长时间运行的服务器进程 在 Windows Server 2003 上运行 由于内存分配失败而引发异常 我们怀疑这些分配由于内存碎片而失败 因此 我们一直在寻找一些可能对我们有帮助的替代内存分配机制 我希望有人能告
  • EWS - 给予预约,获取预约的所有者副本

    在 EWS 中进行预约后 是否可以获得所有者的副本 例如 如果我登录为user1 我有user1创建的约会的副本user2 我有冒充权 我要编辑user2预约的副本 我怎样才能获得user2 s copy 您可以使用 PidLidClean
  • 如何使用 xamarin 表单提示用户进行地理定位

    我正在 Xamarin Forms 应用程序中开发一个应用程序 需要请求地理位置权限 如果获得许可 它需要从设备获取地理位置数据 然后将地理位置坐标放入 Forecast io URL 我正在使用 James 的 Geolocator 插件
  • 如何在给定点停止线程?

    我试图停止一些线程 阅读一些有关优雅地执行此操作的正确方法的内容 但我一定做错了什么 因为它根本不起作用 起初我尝试不使用lock with IsRunning不稳定 然后尝试使用锁 这是我所拥有的 private volatile boo
  • OpenGL 计算着色器调用

    我有一个与新计算着色器相关的问题 我目前正在研究粒子系统 我将所有粒子存储在着色器存储缓冲区中 以便在计算着色器中访问它们 然后我派遣一个一维工作组 define WORK GROUP SIZE 128 shaderManager gt u
  • 在 C# WinForms 中预览文档(Word、Excel、PDF、文本文件等)?

    我正在开发一个 C WinForms 应用程序 我希望能够 预览 其中的各种文档类型 也就是说 当用户从列表中选择文件名时 它会在下面以相同的形式显示所选文件的预览 这很像 Outlook 允许您无需双击即可预览选定邮件的方式 有没有什么方
  • 如何从尖点库矩阵格式获取原始指针

    我需要从尖点库矩阵格式获取原始指针 例如 cusp coo matrix

随机推荐

  • EJB @Asynchronous 检索 JSF 中实时插入的行似乎是线程锁定的

    我正在努力实现以下目标 EJB3单例 Singleton Startup public class SomeSingleton implements SomeSingletonLocal Entity Manager injection p
  • 如何在Java中隐藏JFrame窗口上默认的最小化/最大化和关闭按钮?

    我想知道是否可以创建一个JFrame窗口没有默认的最大化 最小化 和关闭 x 按钮 我在每个框架上添加了自定义按钮 这样用户就不必弄乱窗口右上角的默认按钮 您可以使用JWindow因为默认情况下是 un decorated 但是你可以set
  • 如何防止可调整大小和可拖动元素相互折叠?

    大家好 我有以下代码 http jsfiddle net g7Cgg 正如您所看到的 有 2 个简单的 DIV 相互堆叠在一起 每个 DIV 也都设置为可调整大小和可拖动 但是 请注意 当您尝试调整第一个元素的大小时 第二个元素会折叠到第一
  • 计算曼德尔布罗集合迭代时遇到问题

    所以我读了这篇文章 http www wikihow com Plot the Mandelbrot Set By Hand但我被困在第 7 步 我正在 javascript 画布中绘制集合 我所需要的基本上就是我猜测的C值 for var
  • 无法获取用户 IP 地址(代理/防火墙/负载均衡器)

    我之前使用下面的代码通过asp net获取客户端IP 但在我转移到VDS之后 这个函数开始只返回我的子网掩码 即178 18 198 1或178 18 198 2 谁能帮我解决这个问题吗 Private Function GetIPAddr
  • Spring:单元和集成测试

    我正在寻找使用 Spring 设置单元和集成测试的最佳实践 我通常使用 3 种测试 真正的 单元测试 无依赖项 测试作为 单元 测试运行 内存数据库 本地调用 模拟 对象 或作为集成测试 持久数据库 远程调用 测试仅作为集成测试运行 目前我
  • Flask-Login 显示 401,而不是重定向到登录视图

    使用 Flask Login 我想要求某些视图登录 当我尝试访问装饰有的视图时 login required 我收到 401 消息而不是登录页面 我该如何正确设置 from flask login import LoginManager l
  • jQuery 验证停止表单提交

    我正在使用 jQuery 验证表单 但是当验证表单时 它会重新加载或提交页面 我想停止该操作 我已经使用了 event preventDefault 但它不起作用 这是我的代码 step1form validate step1form on
  • Doctrine 不会在 Mysql 中保留具有布尔值和 PDO::ATTR_EMULATE_PREPARES = false 的实体

    我们正在使用 Symfony 来创建一些 Web 服务 我们使用 Doctrine ORM 来存储实体 使用 Doctrine DBAL 来检索数据 因为它非常轻 并且可以重用 ORM 实体管理器 连接 当使用 Doctrine DBAL
  • Django 模板中的数字 for 循环

    怎样写一个数字for在 Django 模板中循环 我的意思是像 for i 1 to n 我使用了一种简单的技术 非常适合没有特殊标签和附加上下文的小案例 有时这会派上用场 for i in 0123456789 make list for
  • 杀死一个正在运行的线程

    如果我们强行终止正在运行的线程会发生什么 我有一个线程RecordThread 它调用一些复杂且耗时的函数 在我使用的这些函数中试着抓块 分配和释放内存以及使用临界区变量等 like void RecordThread AddRecord
  • 使用 python 请求获取 eBay 访问令牌(交换身份验证令牌)

    我正在尝试使用本指南获取访问令牌 这是我的主文件 import requests from utils import make basic auth header conf code
  • Xamarin.Forms:Android 项目生成错误 - AppData\Local\Xamarin 文件夹内缺少文件

    我正在尝试 Xamarin Forms 我创建了一个名为 App2 的解决方案 Visual Studio 自动创建了以下项目 应用程序2 便携式 App2 Droid App2 iOS 当我尝试编译 Android 项目 App2 Dro
  • 标准 Android 菜单图标,例如刷新 [关闭]

    Closed 这个问题是无关 目前不接受答案 Android SDK 通过以下方式提供标准菜单图标android R drawable X 然而 一些标准图标 例如ic menu refresh 刷新图标 缺失android R 有没有办法
  • 在 XCode 6 中如何设置观察点而不停止执行?

    您可以按照以下步骤轻松在 XCode 中设置观察点 顺便说一句 如果有更简单的方法 我想知道 运行你的程序 在使用变量的代码中设置断点 到达断点时 右键单击变量并选择 Watch nameOfTheVariable 继续执行 唯一的问题是每
  • Backbone集合集合属性(针对url)

    我需要将 id 传递给集合以在 url 中使用 例如 user 1234 projects json 但我不知道如何执行此操作 一个示例会很棒 我的应用程序的结构方式是在启动时提取并呈现 用户 集合 然后我希望当用户单击时 将其 文档 从服
  • 在 PHP PDO postgres 中处理布尔输入?

    有没有更好的方法来处理布尔输入postgresPHP 中的 PDO 驱动程序 在 PHP PDO 中转换布尔值false到 和true到 1 这会导致某些语句中出现如下错误 00000 7 ERROR invalid input synta
  • 简单的语音识别方法

    是的 我知道语音识别相当复杂 轻描淡写 我正在寻找的是一种区分的方法maybe20 30 个短语 分割单词的能力 离散语音很好 会很好 但不是必需的 该软件将取决于用户 即供我使用 我不是在寻找现有的软件 而是在寻找一种自己做这件事的好方法
  • 如何在Windows中使用C#检测进程的开始和结束?

    我在 C 方面有很好的工作经验 但现在我想开发一个简单的 可能是控制台应用程序 软件 它只检测我的计算机上启动或结束的进程的名称和时间 例如 我假设我的小应用程序已经在运行 如果用户打开 Firefox 那么它应该随时间将 firefox
  • 更改 QLineEdit 中占位符文本的颜色

    当我设置占位符文本时QLineEdit setPlaceholderText 显示为灰色 有什么办法可以将颜色更改为其他颜色 例如红色 你必须子类化QLineEdit并在其中绘制您自己的占位符paintEvent class CustomC