QTreeview上面划线[通俗易懂]

QTreeview上面划线[通俗易懂]因为要做一个动画编辑器功能,需要有时间标线,我使用了QTreeview作为显示控件,但是上面划线就是个大问题,经过几番尝试终于找到办法了。先上图具体办法就是继承了qtreeview并且重载paintevent这个函数voidActionTreeView::paintEvent(QPaintEvent*event){Q_UNUSED(event);QTreeView::pa

大家好,又见面了,我是你们的朋友全栈君。

因为要做一个动画编辑器功能,需要有时间标线,我使用了QTreeview作为显示控件,但是上面划线就是个大问题,经过几番尝试终于找到办法了。先上图这里写图片描述

具体办法就是继承了qtreeview 并且重载paintevent这个函数

void ActionTreeView::paintEvent(QPaintEvent *event) { Q_UNUSED(event);
    QTreeView::paintEvent(event);
    QPainter painter(viewport());
    painter.setPen(QPen(QColor(255,0,0)));
    painter.drawLine(QPointF(100,100),QPointF(400,400));
}

这里要注意两点,第一就是要先调用QTreeview的原生paintEvent,第二点就是构造painter时候不要用this指针,要用viewport(),我也是看了源代码抄来的,嘿嘿,第一次写博客,有点乱,大家见谅!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138890.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Printwriter对象「建议收藏」

    Printwriter对象「建议收藏」在servlet处理请求后,需要返回一些数据给浏览器客户端。这时候就需要用到PrintWriter对象用来写数据。一般的使用方法是:首先获得PrinterWriter内置对象,然后将内容写入PrinterWriterout;out=response.getWriter();out.println(“”);out.println(title);out.print

    2022年8月10日
    4
  • xshell连接虚拟机步骤_虚拟机网络设置

    xshell连接虚拟机步骤_虚拟机网络设置1、打开虚拟机,查看虚拟机的ip地址2、打开Xshell软件,点击“新建”3、填写属性,输入登录的用户名和密码(或者在填写属性的时候,点击用户身份验证,输入登录用户名和密码)4、连接成功Xshell6版本的链接https://download.csdn.net/download/qq_45130472/12352471…

    2022年9月17日
    1
  • 【JavaScript】document对象_Cookie属性「建议收藏」

    【JavaScript】document对象_Cookie属性「建议收藏」Cookie是什么?借助document的cookie属性,Javascript程序就可以实现与www服务器一样的cookie功能,即获取当前的cookie信息和产生一个新的cookie。一个浏览器访问www服务器的每个网页文件,都是独立的,每个网页的javascript程序之间的信息也不能共享。即使是同一个网页的上一次访问和下一次访问之间也无法传递数据。同一张网页

    2022年7月27日
    6
  • 数独答案查询器_8阶数独

    数独答案查询器_8阶数独数独是一种传统益智游戏,你需要把一个 9×9 的数独补充完整,使得图中每行、每列、每个 3×3 的九宫格内数字 1∼9 均恰好出现一次。请编写一个程序填写数独。输入格式输入包含多组测试用例。每个测试用例占一行,包含 81 个字符,代表数独的 81 个格内数据(顺序总体由上到下,同行由左到右)。每个字符都是一个数字(1−9)或一个 .(表示尚未填充)。您可以假设输入中的每个谜题都只有一个解决方案。文件结尾处为包含单词 end 的单行,表示输入结束。输出格式每个测试用例,输出一行数据,代表填充

    2022年8月8日
    5
  • javascript邮箱正则表达式_email正则表达式

    javascript邮箱正则表达式_email正则表达式”^\s*\w+(?:\.{0,1}[\w-]+)@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)\.[a-zA-Z]+\s*$”这个是一个企业级的程序里copy出来的。合法E-mail地址:必须包含一个并且只有一个符号“@”不允许出现“@.”或者.@允许“@”前的字符中出现“+”不允许“+”在最前面,或者“+@”正则表达式如下:^(\w+((-\w+)|(.\w+)))+\w+…

    2022年9月24日
    0
  • java.sql.SQLException: not support oracle driver 8.0

    java.sql.SQLException: not support oracle driver 8.0

    2020年11月9日
    346

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号