亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? faqs.html

?? GTK+_ Gnome Application Development
?? HTML
?? 第 1 頁 / 共 4 頁
字號:
        </div>        <div class="SECT2">          <h2 class="SECT2">            <a name="Z853">I want to use the arrow keys as a            control in my application, but GTK+ keeps stealing the            key press events to move the focus around.</a>          </h2>          <p>            Key press handling is somewhat complex. You might want            to read <a href="sec-gdkevent.html#SEC-GDKKEYFOCUS">the            section called <i>Keyboard Focus</i> in the chapter            called <i>GDK Basics</i></a> and <a href=             "z57.html#SEC-FOCUSWIDGET">the section called <i>            Focus</i> in the chapter called <i>GTK+ Basics</i></a>            for a brief overview. <a href=             "sec-gdkevent.html#SEC-GTKEVENTS">the section called            <i>Receiving GDK Events in GTK+</i> in the chapter            called <i>GDK Basics</i></a> is also relevant.          </p>          <p>            In short, key events are initially received by a            toplevel <tt class="CLASSNAME">GtkWindow</tt>. GTK+'s            key event behavior is more or less defined by default            key press event handler in <tt class="FILENAME">            gtkwindow.c</tt> (looking at this function is            instructive). It works as follows:          </p>          <ul>            <li>              <p>                If there's a focus widget, the key event signal is                emitted on the focus widget. If this emission                returns <span class="STRUCTNAME">TRUE</span>, as                described in <a href=                 "sec-gdkevent.html#SEC-GTKEVENTS">the section                called <i>Receiving GDK Events in GTK+</i> in the                chapter called <i>GDK Basics</i></a>, processing                stops.&#13;              </p>            </li>            <li>              <p>                If any of the accelerator groups attached to the                window contain an accelerator matching the event,                then processing stops.&#13;              </p>            </li>            <li>              <p>                If the key event hasn't been handled yet, there are                some default bindings; the arrow keys move the                focus around, for example.&#13;              </p>            </li>          </ul>          <p>            Thus, to override the arrow key behavior, you can            return <span class="STRUCTNAME">TRUE</span> from the            focus widget's signal emission, install an accelerator            for the arrow keys, or connect to <span class="SYMBOL">            "key_press_event"</span> on the toplevel window and use            <tt class="FUNCTION">            gtk_signal_emit_stop_by_name()</tt> to end the signal            emission before the <tt class="CLASSNAME">            GtkWindow</tt> default handler runs.          </p>        </div>        <div class="SECT2">          <h2 class="SECT2">            <a name="Z854">Does GTK+ have multiple inheritance?</a>          </h2>          <p>            No, but "interfaces" (in Java terms) or "pure virtual            classes" (in C++ terms) are planned for the next            version. See <a href="z144.html#SEC-OVERRIDESIGNALS">            the section called <i>Overridable Signals</i> in the            chapter called <i>Writing a <tt class="CLASSNAME">            GtkWidget</tt></i></a> for a discussion of an ugly            workaround used in <tt class="CLASSNAME">GtkWidget</tt>            to create "activatable" and "scrollable" interfaces.          </p>        </div>        <div class="SECT2">          <h2 class="SECT2">            <a name="Z855">I'm getting error messages from GDK. How            can I determine the cause of these?</a>          </h2>          <p>            First, run your program with the <tt class=            "APPLICATION">--sync</tt> option. This invokes <tt            class="FUNCTION">XSynchronize()</tt> to turn off event            buffering; it slows down the application, but causes            errors to be reported as soon as they occur.            Alternatively, some Xlib implementations let you turn            on synchronization by setting the global variable <span            class="STRUCTNAME">_Xdebug</span> to <span class=             "STRUCTNAME">TRUE</span> in a debugger.          </p>          <p>            Once errors are being reported synchronously, just run            your app in a debugger and wait for <tt class=            "FUNCTION">abort()</tt> to be called. For warnings, set            a breakpoint at <tt class="FUNCTION">g_logv()</tt>            which is the function called by the <tt class=            "FUNCTION">g_warning()</tt> macro.          </p>        </div>        <div class="SECT2">          <h2 class="SECT2">            <a name="Z856">How do I update the GUI without            returning control to the main loop?</a>          </h2>          <p>            Just do this:          </p>          <table border="0" bgcolor="#E0E0E0" width="100%">            <tr>              <td><pre class="PROGRAMLISTING">&#13; while (gtk_events_pending())   gtk_main_iteration();&#13;</pre>              </td>            </tr>          </table>          <p>            This code will handle all pending events, then return            control to you. You can also run nested instances of            <tt class="FUNCTION">gtk_main()</tt>; each call to <tt            class="FUNCTION">gtk_main_quit()</tt> exits one            instance. <tt class="FUNCTION">gnome_dialog_run()</tt>            uses this technique to block waiting for user input.          </p>        </div>        <div class="SECT2">          <h2 class="SECT2">            <a name="Z857">How should I format code to be included            in GTK+ or Gnome?</a>          </h2>          <p>            The GTK+ coding style is basically the GNU coding style            (<a href="http://www.gnu.org/prep/standards_toc.html"            target=            "_top">http://www.gnu.org/prep/standards_toc.html</a>).            The Gnome libraries are less consistent, but lean            toward the Linux kernel coding style (documented in <tt            class="FILENAME">            /usr/src/linux/Documentation/CodingStyle</tt> on many            Linux systems).          </p>          <p>            The GTK+ style uses two-space indentation, puts all            braces on a new line, and leaves one space between            identifiers and opening parentheses, like this:          </p>          <table border="0" bgcolor="#E0E0E0" width="100%">            <tr>              <td><pre class="PROGRAMLISTING">&#13;if (whatever)  {    foo (arg1, arg2);  }&#13;</pre>              </td>            </tr>          </table>          <p>            Emacs uses this style by default.          </p>          <p>            The Gnome style uses eight-space indentation and            Kernighan and Ritchie braces, like so:          </p>          <table border="0" bgcolor="#E0E0E0" width="100%">            <tr>              <td><pre class="PROGRAMLISTING">&#13;if (whatever) {        foo (arg1, arg2); }&#13;</pre>              </td>            </tr>          </table>          <p>            It also leaves a space between identifiers and opening            parentheses. To make Emacs use the Gnome style, add a            line like this to the top of your source files:          </p>          <table border="0" bgcolor="#E0E0E0" width="100%">            <tr>              <td><pre class="PROGRAMLISTING">&#13;/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 c-style: "K&amp;R" -*- */&#13;</pre>              </td>            </tr>          </table>          <p>            When preparing a patch for any piece of free software,            it's polite the style of the preexisting code. It's            customary to include a file called <tt class=            "FILENAME">HACKING</tt> in source code distributions            addressing this and similar issues; read it if it            exists.          </p>        </div>        <div class="SECT2">          <h2 class="SECT2">            <a name="Z858">Is there a GUI builder for GTK+ and            Gnome?</a>          </h2>          <p>            A very promising GUI builder called Glade is being            developed. Glade can generate source code in several            languages, or an XML description of your widgets. An            add-on module called <tt class="APPLICATION">            libglade</tt> loads these XML descriptions at runtime            and creates the described widgets. The next release of            the Gnome libraries will very likely include or require            <tt class="APPLICATION">libglade</tt>.          </p>        </div>        <div class="SECT2">          <h2 class="SECT2">            <a name="Z859">How well do GTK+ and Gnome support            internationalization?</a>          </h2>          <p>            GTK+ 1.2 supports most European and Asian languages.            GDK contains an API for loading fontsets and rendering            multibyte strings, though this book does not cover it.            The stock GTK+ widgets that handle text use this API            and will deal with multibyte strings correctly. GTK+            also supports input methods for Asian languages. GTK+            1.2 does <i class="EMPHASIS">not</i> support            right-to-left scripts, or scripts that require complex            ligatures and unusual line breaks. However, support for            these languages is a high priority for GTK+ 1.4. For            details on future plans, Owen Taylor's white paper at            <a href=            "http://www.gnome.org/white-papers/i18n/gtki18n/"            target="_top">            http://www.gnome.org/white-papers/i18n/gtki18n/</a> is            an excellent resource.          </p>          <p>            Both GTK+ and Gnome use the <tt class="APPLICATION">            gettext</tt> message catalog system to translate            user-visible strings, so any string the toolkit knows            how to render can be translated into foreign languages.            <a href="sec-i18n.html">the section called <i>            Internationalization</i> in the chapter called <i>Gnome            Application Basics</i></a> covers this topic.          </p>        </div>      </div>    </div>    <div class="NAVFOOTER">      <br>      <br>      <table width="100%" border="0" bgcolor="#ffffff" cellpadding=       "1" cellspacing="0">        <tr>          <td width="25%" bgcolor="#ffffff" align="left">            <a href="headers.html"><font color="#0000ff" size="2">            <b>&lt;&lt;&lt; Previous</b></font></a>          </td>          <td width="25%" colspan="2" bgcolor="#ffffff" align=           "center">            <font color="#0000ff" size="2"><b><a href="ggad.html">            <font color="#0000ff" size="2"><b>            Home</b></font></a></b></font>          </td>          <td width="25%" bgcolor="#ffffff" align="right">            <a href="online.html"><font color="#0000ff" size="2">            <b>Next &gt;&gt;&gt;</b></font></a>          </td>        </tr>        <tr>          <td colspan="2" align="left">            <font color="#000000" size="2"><b>Table of Header            Files</b></font>          </td>          <td colspan="2" align="right">            <font color="#000000" size="2"><b>Online            Resources</b></font>          </td>        </tr>      </table>    </div>  </body></html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码91久久久久久网站| 欧美美女激情18p| 亚洲免费观看高清完整版在线观看熊 | 狠狠色狠狠色综合| 制服丝袜亚洲网站| 亚洲一区av在线| 91精品免费观看| 色呦呦一区二区三区| 国产成人8x视频一区二区 | 91精品国产综合久久精品图片| 国产精品88av| 日本在线不卡视频| 亚洲天堂成人在线观看| 中文在线一区二区| 久久久久久黄色| 福利电影一区二区三区| 国产精品三级av在线播放| 欧美三片在线视频观看 | 91国产丝袜在线播放| 黄色日韩三级电影| 麻豆免费看一区二区三区| 亚洲国产视频网站| 一区二区三区视频在线观看| 国产精品欧美极品| 日韩欧美www| 久久影视一区二区| 国产丝袜欧美中文另类| 欧美国产丝袜视频| 成人蜜臀av电影| av一区二区三区四区| 成人精品国产免费网站| 亚洲一区二区三区四区在线| 欧美精品一区二区久久久| 日韩欧美精品在线视频| 在线免费观看日本欧美| 国产在线精品视频| 日韩美女一区二区三区四区| 日韩视频一区二区| 国产麻豆精品在线| 看电影不卡的网站| 国产一区二区三区在线观看免费 | 欧美高清hd18日本| 国产精品自在欧美一区| 麻豆国产一区二区| 国产精品99久| 国产91精品一区二区麻豆网站| 有码一区二区三区| 亚洲一区二区三区中文字幕| 午夜精品久久一牛影视| 蜜臀av性久久久久蜜臀av麻豆| 国产一区二区三区免费看 | 国产亚洲一区二区三区| 99精品视频在线观看| 麻豆精品一区二区三区| 成人妖精视频yjsp地址| 成人一区二区视频| 欧美日韩国产综合一区二区| 91精品婷婷国产综合久久竹菊| 欧美精品一区二区在线观看| 2024国产精品| 亚洲一区二区在线免费观看视频| 精品在线一区二区三区| 裸体健美xxxx欧美裸体表演| 中文在线资源观看网站视频免费不卡| 久久久久久久久久久久久久久99 | 中文字幕不卡在线播放| 91精品国产综合久久久久久漫画 | 欧美在线观看禁18| 精品国产乱码久久久久久浪潮 | k8久久久一区二区三区| 欧美二区乱c少妇| 国产精品久久久久影院| 欧美色视频在线观看| 91精品在线一区二区| 欧美一区二区三区系列电影| 中日韩免费视频中文字幕| 日韩成人一区二区| 国产999精品久久久久久| 欧美在线免费观看视频| 久久精品一区四区| 洋洋av久久久久久久一区| 另类中文字幕网| 欧美日韩国产天堂| 中文字幕+乱码+中文字幕一区| 午夜精品一区二区三区免费视频 | 欧洲色大大久久| 国产人成亚洲第一网站在线播放| 综合久久国产九一剧情麻豆| 久久精品国产精品亚洲精品| 在线观看亚洲成人| 国产日产欧产精品推荐色| 久久精品国产999大香线蕉| 色狠狠综合天天综合综合| 成人免费毛片片v| 欧美mv日韩mv国产| 亚洲大片免费看| 91天堂素人约啪| 国产精品美女久久久久久久网站| 青青国产91久久久久久| 91麻豆精品久久久久蜜臀| 国产精品午夜春色av| 激情成人综合网| 精品国产一区二区在线观看| 日本最新不卡在线| 欧美日韩黄色影视| 一区二区三区国产| 欧洲av在线精品| 国产精品美女久久久久av爽李琼| 国产成人在线视频网址| 国产亚洲精品超碰| 丁香婷婷综合色啪| 欧美激情一区二区三区四区| 亚洲精选视频在线| 欧美日韩精品免费观看视频| 亚洲欧美精品午睡沙发| 99精品久久99久久久久| 国产精品久久毛片av大全日韩| 大胆欧美人体老妇| 亚洲欧美日韩综合aⅴ视频| 99精品视频在线免费观看| 一区在线中文字幕| 欧美亚洲日本一区| 亚洲成人av一区二区三区| 日韩欧美激情一区| 蜜臀av一区二区在线免费观看| 在线观看免费一区| 26uuu精品一区二区在线观看| 中文字幕日本不卡| www..com久久爱| 国产最新精品免费| 国产人成一区二区三区影院| 久久婷婷成人综合色| 日韩视频一区二区在线观看| 在线观看中文字幕不卡| 99视频一区二区| 国产一区二区精品久久91| 丝袜亚洲另类欧美| 日韩欧美国产三级电影视频| 欧美在线观看一二区| 91在线精品一区二区三区| 成人18精品视频| 丁香婷婷综合色啪| 国产成人午夜高潮毛片| 国产一区中文字幕| 国内不卡的二区三区中文字幕| 肉肉av福利一精品导航| 亚洲免费视频成人| 亚洲精品福利视频网站| 亚洲天堂网中文字| 亚洲欧洲日韩在线| 最新欧美精品一区二区三区| 国产亚洲精品资源在线26u| 精品成人免费观看| 欧美日韩国产大片| 日韩一级免费观看| 91精品国产综合久久婷婷香蕉 | 免费在线一区观看| 日韩欧美国产精品| 日本欧美大码aⅴ在线播放| 午夜精品久久久久久久久久 | 久久丁香综合五月国产三级网站| 石原莉奈在线亚洲二区| 久久精品国产秦先生| 国产精品无遮挡| 午夜视频在线观看一区二区三区| 午夜欧美在线一二页| 蜜桃av一区二区三区| 色呦呦网站一区| 中文字幕va一区二区三区| 亚洲欧美日韩久久| 亚洲电影视频在线| 成人国产精品免费观看| 精品免费国产二区三区 | 精品国产三级a在线观看| 亚洲欧洲综合另类| 一本色道久久加勒比精品| 欧美精品亚洲一区二区在线播放| 国产精品久久毛片| 国产精品538一区二区在线| 91精品国产一区二区三区蜜臀| 综合自拍亚洲综合图不卡区| 国内偷窥港台综合视频在线播放| 欧美性大战久久久久久久蜜臀| 中文久久乱码一区二区| 国产真实乱偷精品视频免| 日韩一级黄色大片| 手机精品视频在线观看| 在线免费不卡视频| 亚洲另类色综合网站| 9色porny自拍视频一区二区| 国产精品天干天干在观线| av爱爱亚洲一区| 欧美国产在线观看| 国产盗摄一区二区三区| 精品国产一区二区三区不卡| 久久国产综合精品| 欧美大片在线观看| 精品在线免费视频| 精品日本一线二线三线不卡| 久久精品国产一区二区三 |