摘要:
Graphics View结构的主要类包括:视图类QGraphicsView、场景类QGraphicsScene、和各种图形项类(基类都是 QGraphicsItem) 1. QGraphicsView 用于观察一个场景的物理窗口 场景小于视图,整个场景在视图中可见;当场景大于视图时,试图自动提供卷 阅读全文
摘要:
Qt会绘制复杂的可交互图形提供了Graphics View绘图架构,是一种基于图形项(Graphics Item)的模型/视图模式 使用Graphics View架构可以绘制复杂的几万个基本图形元件的图形,并且每个图形元件是可选择,可拖放和修改的 Graphics View架构由以下3个部分组成:场 阅读全文
摘要:
绘图设备的物理坐标是基本的坐标系,通过QPainter平移 旋转等变换可以得到更容易操作的逻辑坐标 视口: 绘图设备的任意一个矩形区域的物理坐标,可以只选取物理坐标的一个矩形区域用于绘图。视口默认情况下等于绘图设备的整个矩形区。 QPaintset::setViewport(int x , int 阅读全文
摘要:
绘图设备的局部物理坐标——视口坐标(viewport)坐标 ( width(),height()) 逻辑坐标——窗口(window)坐标 常用的坐标变换是平移、旋转和缩放 1. 坐标平移 translate( qreal dx , qreal dy) 缺省的坐标体系中,缺省的单位是像素 2. 坐标旋 阅读全文
摘要:
Qt的绘图系统基于 QPainter QPaintDevice 和 QPaintEngine类 1). QPainter : 用于绘图操作的类 2).QPaintDevice : 可以使用QPainter进行绘图的抽象的二维界面 3).QPaintEngine : 为QPainter提供在不同设备上 阅读全文
摘要:
多线程应用中,由于多个线程的存在,线程之间可能需要访问同一个变量,或者一个线程可能需要等待另外一个线程完成某个操作后才产生相应的动作。 如:线程中计算量大的几条代码段,执行较长时间,不希望在执行过程中被其他线程打断,需要保护起来,这就是线程同步的概念。 Qt中,有多个类可以实现线程同步的功能,包括Q 阅读全文
摘要:
QT多线程方式二: 1)设定一个类,继承于QObject 2)类中设置一个线程函数(只有一个是线程函数),内部使用一个while循环 3)创建线程对象,不能指定父对象 4)创建QThread子线程对象 5)自定义线程类加入子线程 a) thread—>start() 只是开启了线程,并没有启动线程处 阅读全文
摘要:
UI线程为主线程,比较耗时的计算或操作,比如网络通信中的文件传输,在主线程中操作,用户界面可能会冻结不能及时响应。 多线程应用程序:在上述情况下,可以创建一个单独的工作线程来执行比较消耗时间的操作,并与主线程之间处理好同步与数据交互。 方式一: QT4.7 之前的版本 : 此版本如果一个线程挂了,退 阅读全文