?? emb-qvfb.html
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/reggie/tmp/qt-3.0-reggie-5401/qt-win-commercial-3.0.5/doc/qvfb.doc:36 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="Translator" content="Cavendish">
<meta name="Qt zh_CN Documents Website" content="http://www.qiliang.net/qt">
<title>Qt/嵌入式的虛擬幀緩沖</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: #ffffff; color: black; font-family: "Times New Roman" }
--></style>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#E5E5E5">
<td valign=center>
<a href="index.html">
<font color="#004faf">主頁</font></a>
| <a href="classes.html">
<font color="#004faf">所有的類</font></a>
| <a href="mainclasses.html">
<font color="#004faf">主要的類</font></a>
| <a href="annotated.html">
<font color="#004faf">注釋的類</font></a>
| <a href="groups.html">
<font color="#004faf">分組的類</font></a>
| <a href="functions.html">
<font color="#004faf">函數(shù)</font></a>
</td>
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table>
<h1 align=center>Qt/嵌入式的虛擬幀緩沖</h1>
<p> 虛擬幀緩沖允許在你的桌面機器上開發(fā)Qt/嵌入式程序,而不用在命令臺和X11之間來回切換。
<p> The virtual framebuffer is located in <tt>$QTDIR/tools/qvfb</tt>.
<p> <h2> 使用虛擬幀緩沖
</h2>
<a name="1"></a><p> <ol type=1>
<li> 確認<tt>$QTDIR/src/tools/qconfig.h</tt>中的QT_NO_QWS_VFB是<em>沒有</em>被定義的,并且編譯Qt/Embedded庫。
<li> 把<tt>qvfb</tt>作為一個普通的Qt/X11應(yīng)用程序來編譯并且運行它。<em>不要</em>把它作為一個Qt/嵌入式應(yīng)用程序來編譯。
<li> 啟動一個Qt/嵌入式主程序(比如,使用QApplication::GuiServer標志來構(gòu)造一個<a href="qapplication.html">QApplication</a>或者在命令行下使用-qws參數(shù))。你將會需要指定你所要使用虛擬幀緩沖驅(qū)動的服務(wù)器,例如:
<pre>
widgets -qws -display QVFb:0
</pre>
<li> 你也可以設(shè)置<tt>QWS_DISPLAY</tt>環(huán)境變量為<tt>QVFb:0</tt>。
</ol>
<p> <tt>qvfb</tt>支持下列命令行參數(shù):
<p> <ul>
<li> <tt>-width width</tt>
<p> 虛擬幀緩沖的寬度(默認:240)。
<p> <li> <tt>-height height</tt>
<p> 虛擬幀緩沖的高度(默認:320)。
<p> <li> <tt>-depth depth</tt>
<p> 虛擬幀緩沖的色深(1、8或者32,默認:8)。
<p> <li> <tt>-nocursor</tt>
<p> 在幀緩沖窗口不顯示X11光標。
<p> <li> <tt>-qwsdisplay :id</tt>
<p> 提供的Qt/嵌入式顯示id(默認:0)。
<p> </ul>
<p> <h2> 虛擬幀緩沖設(shè)計
</h2>
<a name="2"></a><p> 虛擬幀緩沖使用了共享存儲區(qū)域(虛擬的幀緩沖)來模擬幀緩沖并且在一個窗口中(<tt>qvfb</tt>)模擬一個應(yīng)用來顯示幀緩沖。顯示的區(qū)域被周期性的改變和更新,所以你會看到幀緩沖的不連續(xù)的快照,而不是每一個單獨的繪畫操作。因為這個原因的繪畫問題,比如閃爍,知道程序在使用真正的幀緩沖而運行的時候就不會再出現(xiàn)了。
<p> 目標刷新速度可以通過<b>View|Refresh Rate</b>菜單項來設(shè)置。這將會倒置<tt>qvfb</tt>更加頻繁地檢查要被刷新的區(qū)域。速度僅僅是一個目標。如果一個小的繪畫操作完成了,幀緩沖將不會在繪畫事件之間顯示任何更新。如果一個應(yīng)用程序正在顯示一個動畫,更新將會更頻繁,并且應(yīng)用程序和<tt>qvfb</tt>將會爭奪處理器時間。
<p> 鼠標和鍵盤事件通過命名管道傳遞給Qt/嵌入式主程序處理。
<p> 虛擬幀緩沖只是一個開發(fā)工具。在虛擬幀緩沖設(shè)計中沒有考慮任何安全問題。在產(chǎn)品環(huán)境中應(yīng)該避免這個問題,QT_NO_QWS_VFB在產(chǎn)品庫中應(yīng)該是被定義的。
<p>
<!-- eof -->
<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright © 2002
<a href="http://www.trolltech.com">Trolltech</a>
<td><a href="http://www.trolltech.com/trademarks.html">Trademarks</a>
<td><a href="zh_CN.html">譯者:Cavendish</a>
<td align=right><div align=right>Qt 3.0.5版</div>
</table></div></address></body>
</html>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -