CN102486726B - 基于Qt的多线程绘图方法 - Google Patents

基于Qt的多线程绘图方法 Download PDF

Info

Publication number
CN102486726B
CN102486726B CN201010571103.5A CN201010571103A CN102486726B CN 102486726 B CN102486726 B CN 102486726B CN 201010571103 A CN201010571103 A CN 201010571103A CN 102486726 B CN102486726 B CN 102486726B
Authority
CN
China
Prior art keywords
thread
sub
multithreading
privately owned
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010571103.5A
Other languages
English (en)
Other versions
CN102486726A (zh
Inventor
杨若海
黄国勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Pango Microsystems Co Ltd
Original Assignee
Shenzhen Pango Microsystems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Pango Microsystems Co Ltd filed Critical Shenzhen Pango Microsystems Co Ltd
Priority to CN201010571103.5A priority Critical patent/CN102486726B/zh
Publication of CN102486726A publication Critical patent/CN102486726A/zh
Application granted granted Critical
Publication of CN102486726B publication Critical patent/CN102486726B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)

Abstract

本发明是一种基于Qt的多线程绘图方法,属于计算机辅助设计CAD领域,主要用于CAD绘图编辑工具的实现。本发明的目的在于:提供一种在Qt环境中通过多线程来绘制图形的方法,可以提高绘图的效率,提供更好的使用感受,并且能够中断绘图过程以避免用户界面不至于锁死。其实现方法包括:设计了开放式的绘图线程接口,包括线程的启动和同步等;采用了定时器结合脱屏缓冲区来实现线程的合并,及时更新绘图区域并且避免刷新期间屏幕的闪烁。

Description

基于Qt的多线程绘图方法
技术领域
本发明是一种基于Qt的多线程绘图方法,属于计算机辅助设计CAD领域,主要用于CAD绘图编辑工具的实现。
背景技术
很多计算机辅助设计CAD应用程序都需要在屏幕上显示绘制大量的图形,由于信息量比较大,刷新的时间可能会比较长,此时图形界面通常无法对用户输入进行及时响应。如何能够提高绘图的效率,并且提供更好的使用感受,是本发明要解决的问题。
Qt是为开发跨平台的图形用户界面应用程序提供的一个完整的C++应用程序开发框架,它提供了绘制图形的接口,可以在应用程序中提供多线程以及线程通信和同步的机制。
发明内容
本发明的目的在于:为基于Qt的应用程序提供一种多线程的绘图方法,与传统的单线程应用程序相比,将比较耗时的绘图操作放置在一个独立的子线程中完成,与此同时可以使主线程回到Qt的事件循环中,继续响应用户输入,使得用户界面不至于有被锁死的感觉。当绘图子线程完成或者被中断的时候,需要进行线程之间的通信和同步,主要利用Qt的信号-槽机制来实现。
图1是绘图方法的体系结构图。当一个绘图区域需要刷新的时候,Qt***会产生一个暴露事件,在处理该事件的时候,会告知应用程序生成一个绘图子线程,该线程的接口是预先定义好的,当子线程建立之后立刻开始绘图工作,完成之后会自动销毁;主线程继续监控新的Qt事件,还设计有一个定时器,它控制每隔一段时间就将子线程已经绘制好的部分图形拷贝到屏幕上,这样使用者就可以及时看到刷新的结果。
附图说明
图1是绘图方法的体系结构图
图2是完成一次刷新操作的流程图
具体实施方式
图2完成一次刷新操作的具体流程。QWidget是Qt***中基本图形界面组件,当它捕捉到一个暴露事件后,会发出一个重画/刷新的信号,然后将主线程的控制权返回到Qt事件循环中;应用程序收到信号以后,会生成一个绘图子线程,子线程是通过重载Qt的子线程类QThread来实现的;当子线程启动后,会开始绘图的工作,绘制的图形并不直接反应到屏幕窗口上,而是先存放在一个私有的脱屏缓冲区中,线程私有的脱屏缓冲区在两种情况下会与公共的缓冲区合并再拷贝到屏幕上:一是子线程结束,一是受计时器的控制;由于多线程的机制,所以绘图过程是可以被中断的,中断可以来源于使用者的输入,当Qt事件循环收到一个中断事件后,会设置一个标志,子线程读到该标志后会立刻结束;脱屏缓冲区是与窗口屏幕尺寸相同的一个结构,当缓冲区准备好之后再拷贝到屏幕上可以减小闪烁感。

Claims (3)

1.一种基于Qt的多线程绘图方法,其特征在于,包括以下步骤:
a)基本图形界面组件捕捉到暴露事件;
b)所述基本图形界面组件发送重画/刷新信号到应用程序,然后将主线程的控制权返回Qt事件循环中;
c)所述应用程序接收到所述信号后,所述应用程序生成绘图子线程;
d)所述子线程根据所述信号的内容进行绘图工作;
e)所述子线程启动后,所述子线程开始绘图工作,将绘制的图形存放在私有的脱屏缓冲区中;
f)将所述私有的脱屏缓冲区与公共缓冲区合并再拷贝到屏幕上。
2.根据权利要求1所述的基于Qt的多线程绘图方法,其特征在于,所述将所述私有的脱屏缓冲区和公共缓冲区合并再拷贝到屏幕上具体包括:判断子线程是否结束或者计时器是否有控制指令发出,若二者中至少有一个为是,则将所述私有的脱屏缓冲区和所述公共缓冲区合并再拷贝到屏幕上。
3.根据权利要求2所述的基于Qt的多线程绘图方法,其特征在于,所述判断子线程是否结束包括:判断所述子线程是否读到所述Qt事件循环设置的中断标志,若是,则判定所述子线程结束。
CN201010571103.5A 2010-12-03 2010-12-03 基于Qt的多线程绘图方法 Active CN102486726B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010571103.5A CN102486726B (zh) 2010-12-03 2010-12-03 基于Qt的多线程绘图方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010571103.5A CN102486726B (zh) 2010-12-03 2010-12-03 基于Qt的多线程绘图方法

Publications (2)

Publication Number Publication Date
CN102486726A CN102486726A (zh) 2012-06-06
CN102486726B true CN102486726B (zh) 2016-02-03

Family

ID=46152225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010571103.5A Active CN102486726B (zh) 2010-12-03 2010-12-03 基于Qt的多线程绘图方法

Country Status (1)

Country Link
CN (1) CN102486726B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104123177B (zh) * 2014-07-18 2019-01-08 无锡梵天信息技术股份有限公司 一种无锁的多线程数据同步方法
CN104331262B (zh) 2014-10-09 2019-10-29 北京配天技术有限公司 基于QT embedded的同步显示方法、***及数控机床
CN105159647A (zh) * 2015-10-27 2015-12-16 北京华云天一科技有限公司 屏幕刷新方法及其装置
CN105549820B (zh) * 2015-12-11 2019-04-16 魅族科技(中国)有限公司 一种显示图形用户界面的方法及终端
CN106909327B (zh) * 2015-12-23 2021-10-22 研祥智能科技股份有限公司 一种用于工控设备的显示控制装置
CN105630507B (zh) * 2015-12-29 2020-01-24 Tcl集团股份有限公司 一种WebView控件界面绘制的方法和装置
CN114217894B (zh) * 2021-12-10 2023-09-05 中国人民解放军96901部队25分队 一种采用Qt实现雷达屏显的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101241430A (zh) * 2007-02-05 2008-08-13 陈新康 一种管理软件用户界面设计方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7458081B2 (en) * 2003-03-27 2008-11-25 Microsoft Corporation Configurable event handling for an interactive design environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101241430A (zh) * 2007-02-05 2008-08-13 陈新康 一种管理软件用户界面设计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
如何在定时器中连续画线条;佚名;《http://bbs.csdn.net/topics/240008069》;20080616;第1-8页 *

Also Published As

Publication number Publication date
CN102486726A (zh) 2012-06-06

Similar Documents

Publication Publication Date Title
CN102486726B (zh) 基于Qt的多线程绘图方法
CN106233249B (zh) 用于管理睡眠模式的处理器的图形缓冲区的装备和方法
EP2662771A1 (en) Scheduling method, and multi-core processor system
DE112016004332T5 (de) Verfahren, vorrichtungen und systeme zum taktversatzausgleich von datenverbindungaufteilungen
DE112014006183T5 (de) Vorrichtung, Verfahren und System für einen Schnellkonfigurationsmechanismus
CN105183128A (zh) 强制处理器进入低功率状态
WO2019075888A1 (zh) 一种文档批注方法、装置和电子设备
WO2019071802A1 (zh) 文档批注方法、装置和电子设备
WO2011116601A1 (zh) 实现移动终端横竖屏切换的装置及方法
EP2626786A1 (en) Multicore processor system, method of monitoring control, and monitoring control program
CN108089940A (zh) 处理超时的***、方法和装置
CN103620521B (zh) 用于控制***功耗的技术
CN103513912B (zh) 一种界面切换方法及装置
WO2022227411A1 (zh) 一种嵌入式终端远程在线开发***
WO2018090731A1 (zh) 多***触控屏的控制方法和***
CN103207730A (zh) 一种可定位拖拉式流程图生成方法及流程图生成器
US20160133038A1 (en) Display device, display control method, and display system
CN104252354A (zh) 刷新智能终端的数据列表的方法和装置
CN106197468A (zh) 计步器步数更新的方法及***
CN102346456B (zh) 可编程智能终端运行方法
CN106227548A (zh) 动态显示和隐藏bios setup选项的方法
WO2018205392A1 (zh) 控制响应区域显示控制方法、电子装置及存储介质
WO2018010385A1 (zh) 多***截屏文件的处理方法和***
US9471128B2 (en) Systems and methods for displaying, in a user interface, an energy utilization metric, a wake count, and a total amount of time that a CPU is awake
TW201506787A (zh) 電子裝置及其輸入操作管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SHENZHEN PANGO MICROSYSTEMS CO., LTD.

Free format text: FORMER OWNER: BEIJING JINGZHI YIDA TECHNOLOGY CO., LTD.

Effective date: 20150421

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100191 HAIDIAN, BEIJING TO: 518057 SHENZHEN, GUANGDONG PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20150421

Address after: 518057 Guangdong city of Shenzhen province Nanshan District high tech Industrial Park Road eight South South technology Howare Technology Building 16

Applicant after: SHENZHEN PANGO MICROSYSTEMS CO., LTD.

Address before: 100191 room 2, North 305, peony garden, Beijing, Haidian District

Applicant before: Beijing Jingzhi Yida Technology Co.,Ltd.

DD01 Delivery of document by public notice

Addressee: Huang Guoyong

Document name: Notification of Passing Examination on Formalities

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 518057 Guangdong city of Shenzhen province Nanshan District high tech Industrial Park Road eight South South technology Howare Technology Building 16

Patentee after: Shenzhen Pango Microsystems Co., Ltd.

Address before: 518057 Guangdong city of Shenzhen province Nanshan District high tech Industrial Park Road eight South South technology Howare Technology Building 16

Patentee before: SHENZHEN PANGO MICROSYSTEMS CO., LTD.