?? arch-qws.html
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Qt Toolkit - Qt/Embedded Window System Architecture</title><style type="text/css"><!--h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }a:link { color: #004faf; text-decoration: none }a:visited { color: #672967; text-decoration: none }body { background: white; color: black; }--></style></head><body bgcolor="#ffffff"><p><table width="100%"><tr><td><a href="index.html"><img width="100" height="100" src="qtlogo.png"alt="Home" border="0"><img width="100"height="100" src="face.png" alt="Home" border="0"></a><td valign="top"><div align="right"><img src="dochead.png" width="472" height="27"><br><a href="classes.html"><b>Classes</b></a>- <a href="annotated.html">Annotated</a>- <a href="hierarchy.html">Tree</a>- <a href="functions.html">Functions</a>- <a href="index.html">Home</a>- <a href="topicals.html"><b>Structure</b> <font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" align="center" size=32>Qte</font></a></div></table><h1 align="center"> Qt/Embedded Window System Architecture</h1><br clear="all"><h3>Master Process</h3><p>Qt/Embedded must have a master process that handles device inputand paintable region management. Any process may be nominated as thethe <i>QApplication::GuiServer</i> type.<p>The master and client Qt/Embedded processes communicate via a named pipe.There is also a shared memory area that contains the regions of eachtop-level widget.<p>The Qt/Embedded model minimises inter-process communication by performingas much work as possible in the client process. For example all drawingand child widget region operations are performed by the client processwithout any communication with the master process necessary.<p><h3>Window Management</h3><p>The master process maintains the regions that each top-level widget maypaint within.Performing one of the following operations on a top-level widget causesthe paintable regions of each top-level widget to be updated:<ul><li>show()<li>hide()<li>move(), setGeometry(), resize()<li>raise(), lower()</ul>All of the above operations require one round-trip message to the masterprocess. Spontaneous expose events are also generated for any widgetsthat have some part of their client area exposed by one of the aboveoperations.<p>Sub-widget regions are not maintained by the master process, soperforming the above operations on child widgets requires no communicationwith the master process.<p><h3>Device Input</h3><p>The master process is responsible for reading device input and dispatchingthe events to the active client. Key events and mouse/pointer eventscan be handled.<p><h3>QCop</h3><p>The master process controls QCop message delivery. When a client createsa QCop <i>channel</i>, the master process adds the client to the list ofclients subscribed to <i>channel</i>. QCop messages are sent tothe master process which then forwards the messages to each client thatis listening on the channel.<p><h3>Painting</h3><p>QPainter is essentially a wrapper around the <i>Gfx</i> graphics system.The QGfx class is a high-level painting abstraction. Sub-classes implementthe actual drawing functionality, in particular, QGfxRaster implementspainting on a raster device. Hardware acceleration is usually achievedby sub-classing QGfxRaster, implementing the accelerated functions wherepossible, and falling back to the QGfxRaster implementation for functionsunsupported in hardware.<p>Qt/Embedded clients paint directly to the framebuffer. The low-level graphicssystem (QGfx) handles clipping against the top-level regions maintained inshared memory. No communication with the master process via the named pipeis performed.<p><address><hr><div align="center"><table width="100%" cellspacing="0" border="0"><tr><td>Copyright
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -