QTreeView 显示网格样式

这篇具有很好参考价值的文章主要介绍了QTreeView 显示网格样式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

QTreeView代理类继承QStyledItemDelegate

#include <QStyledItemDelegate>
#include <QPainter>
class Delegate : public QStyledItemDelegate
{
public:
    Delegate(QObject *parent = nullptr);
    ~Delegate(){}
    void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
};
Delegate::Delegate(QObject *parent) : QStyledItemDelegate(parent)
{
}
void Delegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
    QPen pen;
    pen.setWidth(1);  //线的宽度
    pen.setColor(QColor(190, 190, 190, 255));  //线的颜色
    painter->save();
    painter->setPen(pen);
    painter->drawRect(option.rect);  //单元格矩形框
    painter->restore();
    QStyledItemDelegate::paint(painter, option, index);  //调用绘制函数
}

QTreeView 调用代理

QTreeView 提供了三个接口
1、void setItemDelegateForRow(int row, QAbstractItemDelegate *delegate):按行生效
2、void setItemDelegateForColumn(int column, QAbstractItemDelegate *delegate): 按列生效
3、void setItemDelegate(QAbstractItemDelegate *delegate); //所有生效

ui->centerTreeView->setItemDelegateForColumn(1,new Delegate);

验证一下

// testtablemodel.cpp
#include "testtablemodel.h"
TestTableModel::TestTableModel(QObject *parent)
    : QAbstractTableModel(parent)
{
}
QVariant TestTableModel::headerData(int section, Qt::Orientation orientation, int role) const
{
    // FIXME: Implement me!
    if(orientation==Qt::Horizontal && role==Qt::DisplayRole)
    {
        return section + 1;
    }else if(orientation==Qt::Vertical && role==Qt::DisplayRole)
    {
        return section + 1;
    }else if(orientation==Qt::Vertical && role==Qt::TextAlignmentRole)
    {
        return Qt::AlignCenter;
    }
    else
    {
        return QAbstractTableModel::headerData(section,orientation,role);
    }    
}
int TestTableModel::rowCount(const QModelIndex &parent) const
{
    return 100;
    // FIXME: Implement me!
}

int TestTableModel::columnCount(const QModelIndex &parent) const
{
    return 100;
    // FIXME: Implement me!
}

QVariant TestTableModel::data(const QModelIndex &index, int role) const
{
    if (!index.isValid())
        return QVariant();
    if(role == Qt::DisplayRole)
    {
        return "";
    }
    // FIXME: Implement me!
    return QVariant();
}

调用

ui->tableView->setModel(new TestTableModel());
ui->tableView->setItemDelegate(new Delegate());

效果

qtreeview网格线,Qt,qt,ui,开发语言文章来源地址https://www.toymoban.com/news/detail-729199.html

到了这里,关于QTreeView 显示网格样式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • QT 项目视图(QListView&QTreeView&QTableView)和项目部件(QListWidget&QTreeWidget&QTableWidget)详解

    目录 一、Qt 项目视图(Item Views)         1.QListView 2.QTreeView 3.QTableView 二、Qt 项目部件(Item Widgets) 1.QListWidget 2.QTreeWidget 3.QTableWidget 一、Qt 项目视图(Item Views)          控件名称依次解释如下: List View:清单视图 Tree View: 树视图 Table View:表视图 Column View: 列视图 Undo Vie

    2024年01月20日
    浏览(44)
  • 【QT开发(5)】0919-QT里面新增ui类,新增使用opencv读取图片的普通类,在ui类中显示图片

    1、Qt Creator快速入门_第三版__霍亚飞编著 2、《Qt+OpenCV显示图片(Mat转QImage然后显示在QLabel上)》 https://gitee.com/hiyanyx/qt5.14-cpp_-empty_-project/tree/Study2023-section5/ git分支“Study2023-section5” 新增ui类 新增使用opencv读取图片的普通类 为了更加方便,可在QT 中添加普通类,这样会自动生

    2024年02月07日
    浏览(41)
  • VS+QT+PCL点云显示转网格表面体窗体实现

     程序示例精选 VS+QT+PCL点云显示转网格表面体窗体实现 如需安装运行环境或远程调试,见文章底部个人 QQ 名片,由专业技术人员远程协助! 这篇博客针对VS+QT+PCL点云显示转网格表面体窗体实现编写代码,代码整洁,规则,易读。 学习与应用推荐首选。 一、所需工具软件 二

    2024年02月15日
    浏览(39)
  • VS+QT+VTK三维网格显示-点面选择-法线法向量显示-配准-分割窗体程序

    程序示例精选 VS+QT+VTK三维网格显示-点面选择-法线法向量显示-配准-分割窗体程序 如需安装运行环境或远程调试,见文章底部个人 QQ 名片,由专业技术人员远程协助! 这篇博客针对VS+QT+VTK三维网格显示-点面选择-法线法向量显示-配准-分割窗体程序编写代码,代码整洁,规则

    2024年02月10日
    浏览(50)
  • Qt5.9 UI设计(七)——统一样式设计

    前面已经将UI设计部分实现,各页面也做了最简单的设计,本章介绍一下qss样式的使用。样式设计最终的显示效果如下图: 将stylesheet.qss 样式文件添加进工程 stylesheet.qss 内容如下: 为应用程序添加LOGO图标 加载统一样式 最终设计效果如下图,到这里简单的UI设计部分已经实现

    2023年04月16日
    浏览(85)
  • [QT编程系列-39]:用户界面UI - 样式表QSS与样式文件快速入门

    目录 1. 概述 2. CSS 3. QSS示例 4. QT样式表文件使用方法与步骤 5. QT内置样式 6. QT常见基本样式 Qt提供了一种称为Qt样式表(Qt Style Sheets)的机制,可以用于 自定义和美化Qt应用程序的用户界面(UI) 。 使用Qt样式表,你可以通过类似 CSS 的语法来定义UI元素的外观和布局,包括颜

    2024年02月04日
    浏览(45)
  • 有什么能直接用的开源QT的ui样式库

    Qt 提供了许多可供直接使用的开源 UI 样式库。其中一些常用的样式库包括: Fusion:Qt 的默认样式库,提供现代化和简洁的界面。 Windows:模拟 Windows 的界面样式。 WindowsVista:模拟 Windows Vista 的界面样式。 WindowsXP:模拟 Windows XP 的界面样式。 Macintosh:模拟 Mac OS X 的界面样式

    2024年02月06日
    浏览(40)
  • [Qt学习笔记]Halcon窗口界面上显示文字的字体尺寸、样式修改

    养成良好的查资料习惯,可以实现事半功倍。 在Halcon12中,有set_font和set_display_font两个算子,其中set_display_font是本地函数形式,所以最终的实现算子为set_font. 按照不同的系统环境下,使用方法略有不同: 不同的系统下使用的方法不同,原本以为比较简单,直接按照文档的

    2024年03月20日
    浏览(53)
  • Qt编程之仿gnome-terminal终端样式 +颜色文字显示

    本文采用QTextBrowser作为文本显示窗口,进行文本的显示。本文实例实现的效果并没有终端的输入效果,这里只是提供一些仿终端样式思路。 1.ui文件:采用一个QWidget为主窗口,QTextBrowser做文本显示 MainWindow .cpp代码实现: QTextBrowser样式表代码: 左边是仿照效果,可以看到大致

    2024年01月18日
    浏览(37)
  • 【QT】如何实时显示当前时间在UI上

    2024年02月15日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包