Qt之自定义QStringListModel设置背景色和前景色

这篇具有很好参考价值的文章主要介绍了Qt之自定义QStringListModel设置背景色和前景色。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.效果

二.实现

QStringListModel里只实现了Qt::EditRole和Qt::DisplayRole,不能直接设置背景色和前景色,所以我们要继承QStringListModel,重写其中的data和setData方法,使其支持Qt::ForegroundRole和Qt::BackgroundRole。

QHStringListModel.h文章来源地址https://www.toymoban.com/news/detail-719405.html

#ifndef QHSTRINGLISTMODEL_H
#define QHSTRINGLISTMODEL_H

#include <QStringListModel>
#include <QColor>

class QHStringListModel : public QStringListModel
{
public:
    explicit QHStringListModel(QObject *parent = nullptr);

    QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
    bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;

    void clear();

private:
    QMap<int, QColor> m_foregroundColorMap;
    QMap<int, QColor> m_backgroundColorMap;
};

#endif 

到了这里,关于Qt之自定义QStringListModel设置背景色和前景色的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • element ui修改select选择框背景色和边框色

    一、修改选择框的背景色和边框色 style部分 html部分 要添加class=\\\"custom-select\\\", 我的字体设置不成功,修改样式 二、修改下拉选项的样式 添加:popper-append-to-body=\\\"false\\\" 

    2024年02月04日
    浏览(40)
  • Element ui | popover弹出框改变背景色和小三角形颜色

    初始状态: 最终效果: 如果是vue项目,不能在xxx.vue文件中更改css,而是在被main.js引入的scss或css文件中更改: 注意:在实际项目中,记得给el-popover添加新类名,css使用交际选择器,以免作用在其他元素上:

    2024年02月11日
    浏览(55)
  • Qt 设置窗口背景

    窗口背景无非两种:背景色、背景图片。Qt中窗口背景如何设置? 一、QPalette设置背景 二、实现paintEvent,使用QPainter来绘制背景 三、使用QSS来设置背景  关于QSS的使用不想多说,一般我不用QSS设置窗口背景,也不建议使用。(注意:这里是对于窗口而言)。如果是子部件当然

    2024年02月11日
    浏览(38)
  • QT qlineargradient 设置背景渐变

    作为一名初级开发,开发之初UI设计师给了我客户端的设计图纸,其中就有设计背景渐变 要求是从上的蓝往下渐变成白 刚开始我直接把UI写的代码考到widget的stylesheet发现根本不行,必须要使用QT的qlineargradient 所有我重写了样式表的代码如下:  效果:  渐变过程:x代表左右

    2024年01月16日
    浏览(36)
  • QT--文字输入及背景设置

             效果如图所示: 使用的QT版本为QT5.15.2         代码:maindow.cpp  

    2024年02月13日
    浏览(49)
  • qt 系列(二)---qt designer通过设置控件样式表进行背景颜色设置

    1. 前言 一般Layouts不可以进行改变样式表,当我们想修改背景样式表,同时又不改变其他控件的颜色时,可以选择List View 控件改变背景颜色。 2. 设置背景 (1)配置 .qrc 文件 新建mypicture.qrc文件,记事本打开 (2)右键选择项目–添加–现有项,选择建立的.qrc文件,此时,项

    2024年02月06日
    浏览(59)
  • Qt:QWidget设置半透明背景

    设置窗体QWidget半透明背景 首先前提条件是设置: setAttribute(Qt::WA_TranslucentBackground); 方法一:重写QPaintEvent 方法二:自定义qss样式 方法三:使用QGraphicsOpacityEffect ,不过这种方法会影响子控件的透明度 效果参考如下:

    2024年02月15日
    浏览(90)
  • QT设置widget背景图片

    首先说方法,在给widget或者frame或者其他任何类型的控件添加背景图时,在样式表中加入如下代码,指定某个控件,设置其背景。 如果单纯改变样式表,没有指定控件的话,内部的其他控件背景也会改变。 特别提醒:类名 # 控件名,其中控件名要准确,假如你把widget的名字改

    2024年02月11日
    浏览(47)
  • 【Qt UI相关】Qt设置窗体或控件的背景色透明

    在Qt中, QPalette (调色板)类用于设置窗体或控件的外观颜色。首先,需要在代码中包含 QPalette 或 QGui 头文件。 然后,在构造函数中添加以下代码来设置窗体的透明度: 这里,我们使用 QPalette::Background 来设置窗体的背景色,并将其设置为全透明。 效果: 窗口整体透明,但

    2024年02月05日
    浏览(58)
  • Qt配置设置,修改全文字体大小颜色,背景颜色

    这是完成时的demo,选择所需。 点击确认修改,全局修改,效果第二张图。 在没有点击确认修改时,字体等按钮的改变只会在文本框里面体现出来。点击确认才会修改全局的东西。点击恢复默认时,字体字号颜色控件全部恢复初始状态,当点击确认修改,全局才会改为初始状

    2024年02月11日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包