因为开发环境不能联网,开发中用到有用的知识就记在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()函数管理编辑控件的位置

      

最新文章

  1. java分享第二十天(build.xml的语法及写法)
  2. Xcode 中的黄色文件夹/蓝色文件夹
  3. LoadRunner常见函数分析
  4. java 8-5 抽象
  5. SQL Server 索引视图 聚簇索引
  6. Windows Server 2012学习文档
  7. Grails 1.2参考文档速读(10):Controller
  8. 输入一个单向链表,输出该链表中倒数第K个结点
  9. [ZT]DAS\NAS\IP SAN\FC SAN之区别
  10. C socket指南
  11. 添加一个Application Framework Service
  12. AngularJS进阶(十)AngularJS改变元素显示状态
  13. LOJ.6066.[2017山东一轮集训Day3]第二题(树哈希 二分)
  14. Lua IUP 环境搭建
  15. hack the box-Access Writeup
  16. ModelDriven 和 Preparable 拦截器
  17. tomcat文件中server.xml 实例说明
  18. BZOJ 4326: NOIP2015 运输计划(二分,树上差分)
  19. Python 函数系列- Str
  20. 网络爬虫之scrapy框架设置代理

热门文章

  1. Hive的内表和外表以及分区表
  2. ad bga扇出 和群组布线
  3. Android Studio下SlidingMenu的导入与基础使用
  4. js日期重写
  5. STL库中的正态分布函数
  6. win7 解决IE浏览器不能打开网页的问题
  7. PyCharm 3.4.1注册码
  8. UIKit框架之UIDynamicAnimator
  9. Facebook 帆布接入的总结
  10. VC