因为开发环境不能联网,开发中用到有用的知识就记在word稳定中,不知不觉就记载了几十页,为避免笔记丢失,现在就一点点忘博客上搬,方便日后回顾!

  ------------------------------------------

  一,xml文档的生成和解析

    1,Dom方式:

      xml首行说明类 QDomProcessingLnstruction类

      元素对应QDomElement类

      属性对应QDomAttr类

      文本内容对应QDomText类

      所有Dom节点,比如说明,元素,属性和文本,都使用QDomNode来表示

      文档本身是QDomDocument类表示

    2,手写xml例子:  

      QString filename = QFileDialog::getSaveFileName(this,"Save","","*.xml”);

      QFile file(filename);

      if(!file.open(QIODevice::WriteOnly | QIODevice::Text) {return;}

      QDomDocument document;

      QString strHeader("version=\"1.0"\ encoding=\"UTF-8\"");

      QDomElement root_elem = document.createElement("item");

      root_elem.setAttribute("id",1);

      document.appendChild(root_elem);

      QDomElement item1 = document.createElement("item1");

      item1.setAttribute("item1",1);

       

      QDomElement item2 = document.createElement("item2");

      item2.setAttribute("item2",2);

      root_elem.appendChild(item2);

      

      QTextStream out(&file);

      document.save(out,3);

      file.close();

    3,Qt中xml流的使用:读QXmlStreamWriter, 写QXmlStreamReader

  

  二,QPainter和QPaintDevice类学习

    1,QPainter可以在任何QPaintDevice的子类上面进行绘画,QWidget,QPixmap,QImage,QPicture等,但是没有QMainwidget

    2,关于QPainter类中bounding()和paint()重写,设置绘制范围大小。paint()函数在绘制,重绘,窗口最大化最小化时都会调用

    3,QPen类,QBrush类运用

    4,QPixmap类,QBitmap类,QBitmap类集成自QPixmap,QDialog类是QMainWindow类和QWidget类的父类。

    5,渐变相关类:QGradient

      三个子类:QLinearGradient 直线渐变     QRadialGradient 辐射渐变  QConicalGradient  角度渐变

    6,Qt provides four classes for hangding image data:QImage,QPixmap,QBitmap and QPicture. 四种绘图设备:QBitmap(位图,色深(0或1)为1)是继承自QPixmap,    QPicture是以二进制保存图片

    7,paintEvent(QPaintEvent*)函数会在多种情况下,被其他函数自动调用,比如:update(),repaint()等

    8,QPainterPath类

    9,自定义类继承自QGraphicsItem类时,要重写paint()和boundingRect()类

    10,paintEvent()系统调用

  三,Qt中的委托

    1,QStyledItemDelegate和ItemDelegate都是继承自QAbstractItemDelegate,除了需要进行绘制的部分,这两个类的代码基本相同

    2,QStyleItemDelegate 需要重写的函数:

        createEditor()函数创建特定的编辑控件

        setEditorData()函数编辑控件设定初始数据

        setModeldata()函数在编辑完成后将数据写入Model

        updateEditorGrometry()函数管理编辑控件的位置

      

Qt开发中的实用笔记一--xml,Qpainter,Delegate:的更多相关文章

  1. Qt开发中的实用笔记三--关于各种类的零碎知识点:

    1,QUuid()创建唯一标识码,在创建数据库实体ID和链接数据库QSqlDatabase时非常方便 2,QScrollArea与QScrollBar,如果是要在widget中添加窗口滑动QScrol ...

  2. Qt开发中的实用笔记二--中文转码问题和string转换问题:

    一,中文乱码转码问题 1,转码三句话:window下默认是GBK格式,linux下默认是UTF-8,看情况转换UTF-8/GBK QTextCodec::setCodecForTr(QTextCode ...

  3. Web 开发中很实用的10个效果【附源码下载】

    在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记 ...

  4. 网站开发中很实用的 HTML5 & jQuery 插件

    这篇文章挑选了15款在网站开发中很实用的 HTML5 & jQuery 插件,如果你正在寻找能优化网站,使其更具创造力和视觉冲击,那么本文正是你需要的.这些优秀的 jQuery 插件能为你的网 ...

  5. Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构

    分享两篇Win 10应用开发的XML文档结构:Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构. Win 10 开发中Adapt ...

  6. 【Qt开发】QThread 实用技巧、误区----但文档中没有提到

    本文主要内容: 在任务一中,用 四 种方式实现:点击界面按钮,开线程运行一段程序,结果显示在一个Label上.1. 用不正确的方式得到看似正确的结果2. 用Qt Manual 和 例子中使用的方法3. ...

  7. 【FLEX教程】#008 开发中的问题笔记(慢更…)

    在这里记录一下个人在FLEX开发中遇到的一些问题.方便一些遇到同样问题的朋友们,能够快速的解决这些问题. 这篇笔记我会慢慢的更新,(PS:有遇到问题就往上面更….) 2015年1月4日 12:53:5 ...

  8. 实际开发中,实用的辅助iOS开发的工具

    就目前所知,开发iOS绝大部分都是用Xcode,除此工具之外,还有几个好用的可以辅助实际开发中遇到的问题,拥有这种辅助开发技能,在工作中,甚至是以后的面试中,都可能会有不小的帮助. 下面推荐三个实用的 ...

  9. Web 开发中很实用的10个效果

    在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记 ...

随机推荐

  1. MySQL主从复制与读写分离

    MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践 Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过.但在实际的生产环境中, ...

  2. Java集合运用技巧

    需要唯一吗? 需要:Set 需要制定顺序吗? 需要:TreeSet 不需要:HashSet 但是想要一个和存储一致的顺序(有序):LinkedHashSet 不需要:List 需要频繁增删吗? 需要: ...

  3. entity framework 新手入门篇(3)-entity framework实现orderby,count,groupby,like,in,分页等

    前面我们已经学习了entityframework的基本的增删改查,今天,我们将在EF中实现一些更加贴近于实际功能的SQL方法. 承接上面的部分,我们有一个叫做House的数据库,其中包含house表和 ...

  4. docker 源码分析 四(基于1.8.2版本),Docker镜像的获取和存储

    前段时间一直忙些其他事情,docker源码分析的事情耽搁了,今天接着写,上一章了解了docker client 和 docker daemon(会启动一个http server)是C/S的结构,cli ...

  5. XML代码生成器——XMLFACTORY 简介(三)

    XML代码生成器——XMLFACTORY 简介(三) 这一篇我们讲“类名称”页签 的配置功能,您将了解到:如何为Xml元素指定对应的类名称及脱壳功能. 如果,你没看过这个系列的第一篇文章,请先去看这篇 ...

  6. 黑马----JAVA字符串

    黑马程序员:Java培训.Android培训.iOS培训..Net培训 Stirng.StringBuffer和StringBuilder都实现了字符序列接口CharSequence,都是final类 ...

  7. Javascript 特效(一)返回顶部

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  8. iredmail安装脚本分析(一)---iRedmail.sh

    iredmail是一套以postfix为核心的整合邮件系统的安装脚本,可以达到快速部署邮件服务器的目的.为了让自己不遗忘shell的语法,所以闲来无事,学习一下他的代码. 我从官网下载他的最新版,解压 ...

  9. day27_反射

    1.反射-概述(掌握) 反射就是在程序运行过程中,通过.class文件动态的获取类的信息(属性,构造,方法),并调用 注意:JAVA不是动态语言,因为动态语言强调在程序运行过程中不仅能获取并调用类里面 ...

  10. 重磅来袭,水木PC客户端全面改版,欢迎使用!

    2016-11-04   下载 最新更新            1.优化帖子中回文内容的显示,采用相比正文较小的字体,以及置灰处理,突出正文.           2.可配置是否隐藏帖子中的IP和修改 ...