OSDN Git Service

765007a09e052e61a2c2d47dd6b13e14e1ed27d5
[ring-lang-081/ring.git] / docs / build / html / qt.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
4
5 <html xmlns="http://www.w3.org/1999/xhtml">
6   <head>
7     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8     
9     <title>デスクトップとモバイル開発 (RingQt) &mdash; プログラミング言語 Ring 1.12 取扱説明書</title>
10     
11     <link rel="stylesheet" href="_static/bootstrap-astropy.css" type="text/css" />
12     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
13     
14     <script type="text/javascript">
15       var DOCUMENTATION_OPTIONS = {
16         URL_ROOT:    './',
17         VERSION:     '1.12',
18         COLLAPSE_INDEX: false,
19         FILE_SUFFIX: '.html',
20         HAS_SOURCE:  true
21       };
22     </script>
23     <script type="text/javascript" src="_static/jquery.js"></script>
24     <script type="text/javascript" src="_static/underscore.js"></script>
25     <script type="text/javascript" src="_static/doctools.js"></script>
26     <script type="text/javascript" src="_static/translations.js"></script>
27     <link rel="top" title="プログラミング言語 Ring 1.12 取扱説明書" href="index.html" />
28     <link rel="next" title="モバイル用 RingQt アプリケーションのビルド方法" href="qtmobile.html" />
29     <link rel="prev" title="RingRayLib の用法" href="ringraylib.html" />
30     <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,600' rel='stylesheet' type='text/css'/>
31
32   </head>
33   <body role="document">
34 <div class="topbar">
35   <a class="brand" title="Documentation Home" href="index.html"><span id="logotext1">&#x1f369;Ring</span><span id="logotext2"> 1.12</span><span id="logotext3">:docs</span></a>
36   <ul>
37     
38     <li><a href="http://ring-lang.sourceforge.net/news.html">News</a></li>
39     <li><a href="http://ring-lang.sourceforge.net/download.html">Download</a></li>
40     <li><a href="https://groups.google.com/forum/#!forum/ring-lang">Get Help</a></li>
41     <li><a href="https://github.com/ring-lang/ring">Contribute</a></li>
42     <li><a href="http://ring-lang.sourceforge.net/resources.html">Resources</a></li>
43     <li><a href="http://ring-lang.sourceforge.net/team.html">Team</a></li>
44     
45     <li><a title="Ring Homepage" href="http://ring-lang.net/">Website</a></li>
46     <li><a title="総合索引" href="genindex.html">Index</a></li>
47     <li>
48       
49       
50 <form action="search.html" method="get">
51   <input type="text" name="q" placeholder="Search" />
52   <input type="hidden" name="check_keywords" value="yes" />
53   <input type="hidden" name="area" value="default" />
54 </form>
55       
56     </li>
57   </ul>
58 </div>
59
60 <div class="related">
61     <h3>ナビゲーション</h3>
62     <ul>
63       <li class="right">
64         <a href="qtmobile.html" title="モバイル用 RingQt アプリケーションのビルド方法">
65           next &raquo;
66         </a>
67       </li>
68       <li class="right">
69         <a href="ringraylib.html" title="RingRayLib の用法">
70           &laquo; previous
71         </a>
72          |
73       </li>
74       <li>
75         <a href="index.html">プログラミング言語 Ring 1.12 取扱説明書</a>
76          &raquo;
77       </li>
78       
79       <li>デスクトップとモバイル開発 (RingQt)</li> 
80     </ul>
81 </div>
82   
83
84     <div class="document">
85       <div class="documentwrapper">
86         <div class="bodywrapper">
87           <div class="body" role="main">
88             
89   <div class="section" id="ringqt">
90 <span id="index-0"></span><h1>デスクトップとモバイル開発 (RingQt)<a class="headerlink" href="#ringqt" title="このヘッドラインへのパーマリンク">¶</a></h1>
91 <p>Ring アプリケーション (デスクトップとモバイル) 開発のために Qt フレームワーククラスの用法を学びます。</p>
92 <div class="section" id="gui">
93 <span id="index-1"></span><h2>はじめての GUI アプリケーション<a class="headerlink" href="#gui" title="このヘッドラインへのパーマリンク">¶</a></h2>
94 <p>この用例では、彼氏、彼女の名前を質問するアプリケーションを作成します。
95 ユーザがテキストボックスへ名前を入力して “Say Hello” ボタンをクリックした後に、
96 “Hello ” を名前へ追加することでテキストボックスの値を更新します。</p>
97 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
98
99 <span class="n">oApp</span> <span class="o">=</span> <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
100
101         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span> <span class="p">{</span>
102
103                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Hello World&quot;</span><span class="p">)</span>
104                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">370</span><span class="p">,</span><span class="mi">250</span><span class="p">)</span>
105
106                 <span class="n">label1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qLabel</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
107                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;What is your name ?&quot;</span><span class="p">)</span>
108                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">20</span><span class="p">,</span><span class="mi">350</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
109                         <span class="n">setalignment</span><span class="p">(</span><span class="n">Qt_AlignHCenter</span><span class="p">)</span>
110                 <span class="p">}</span>
111
112                 <span class="n">btn1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
113                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
114                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Say Hello&quot;</span><span class="p">)</span>
115                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pHello()&quot;</span><span class="p">)</span>
116                 <span class="p">}</span>
117
118                 <span class="n">btn1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
119                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">150</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
120                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Close&quot;</span><span class="p">)</span>
121                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pClose()&quot;</span><span class="p">)</span>
122                 <span class="p">}</span>
123
124                 <span class="n">lineedit1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlineedit</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
125                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">350</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
126                 <span class="p">}</span>
127
128                 <span class="n">show</span><span class="p">()</span>
129         <span class="p">}</span>
130
131         <span class="n">exec</span><span class="p">()</span>
132 <span class="p">}</span>
133
134 <span class="k">Func</span> <span class="n">pHello</span>
135         <span class="n">lineedit1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span> <span class="s">&quot;Hello &quot;</span> <span class="o">+</span> <span class="n">lineedit1</span><span class="p">.</span><span class="n">text</span><span class="p">())</span>
136
137 <span class="k">Func</span> <span class="n">pClose</span>
138         <span class="n">oApp</span><span class="p">.</span><span class="n">quit</span><span class="p">()</span>
139 </pre></div>
140 </div>
141 <p>プログラムの実行結果:</p>
142 <p>最初にテキストボックスへ名前を入力します。</p>
143 <img alt="テキストボックスへの名前入力" src="_images/ringqt_shot1.jpg" />
144 <p>そして Say Hello ボタンをクリックします。</p>
145 <img alt="ボタンのクリック" src="_images/ringqt_shot2.jpg" />
146 </div>
147 <div class="section" id="index-2">
148 <span id="id1"></span><h2>イベントループ<a class="headerlink" href="#index-2" title="このヘッドラインへのパーマリンク">¶</a></h2>
149 <p>qApp クラスから exec() メソッドを呼び出すときは Qt はイベント駆動とイベントループで制御します。</p>
150 <p>一度でも exec() を呼び出すと、イベントループを開始し、ウィジェットは様々なイベントへの応答を開始します (マウス、キーボード、タイマーなど)。</p>
151 <p>イベントが発行されてコールバック関数が呼び出されるときは再び制御を戻します。</p>
152 <p>コールバック関数の実行完了後、制御をイベントループへ再び戻します。</p>
153 <p>覚えていると便利なことは</p>
154 <ol class="arabic simple">
155 <li>ほとんどの作業は標準イベントで行います (イベントは各種ウィジェットで用意されています)。</li>
156 <li>イベントフィルタを使うとウィジェットにイベントを追加できます。</li>
157 <li>タイマーを使うと制御を戻します。これにより、各種検査を簡単にできます。</li>
158 </ol>
159 <p>コールバック関数で処理時間がかかり、ビジー状態であるとき、 GUI の停止を回避するために qApp クラスで ProcessEvents() メソッドを呼び出せます。</p>
160 <div class="highlight-ring"><div class="highlight"><pre><span class="n">oApp</span><span class="p">.</span><span class="n">processevents</span><span class="p">()</span>
161 </pre></div>
162 </div>
163 <p>exec() メソッドを呼び出さずに、メインループを作成することもできます。</p>
164 <p>この方法は非推奨であり、選択肢の一つに過ぎません。</p>
165 <div class="highlight-ring"><div class="highlight"><pre><span class="c"># exec() メソッドを呼び出さない方法</span>
166         <span class="k">while</span> <span class="kp">true</span>
167                 <span class="n">oApp</span><span class="p">.</span><span class="n">processevents</span><span class="p">()</span>    <span class="c"># GUI イベントへの応答</span>
168                 <span class="c"># さらにコードを追加することで、制御を行います!</span>
169                 <span class="c"># .....</span>
170         <span class="k">end</span>
171 </pre></div>
172 </div>
173 </div>
174 <div class="section" id="index-3">
175 <span id="id2"></span><h2>レイアウトの用法<a class="headerlink" href="#index-3" title="このヘッドラインへのパーマリンク">¶</a></h2>
176 <p>この用例は、前述のアプリケーションで垂直レイアウトを使用するように更新したものです。</p>
177 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
178
179 <span class="n">MyApp</span> <span class="o">=</span> <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
180
181         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span> <span class="p">{</span>
182
183                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Hello World&quot;</span><span class="p">)</span>
184                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">130</span><span class="p">)</span>
185                 <span class="n">label1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qLabel</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
186                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;What is your name ?&quot;</span><span class="p">)</span>
187                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">20</span><span class="p">,</span><span class="mi">350</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
188                         <span class="n">setalignment</span><span class="p">(</span><span class="n">Qt_AlignHCenter</span><span class="p">)</span>
189                 <span class="p">}</span>
190                 <span class="n">btn1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
191                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
192                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Say Hello&quot;</span><span class="p">)</span>
193                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pHello()&quot;</span><span class="p">)</span>
194                 <span class="p">}</span>
195                 <span class="n">btn2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
196                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">150</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
197                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Close&quot;</span><span class="p">)</span>
198                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pClose()&quot;</span><span class="p">)</span>
199                 <span class="p">}</span>
200                 <span class="n">lineedit1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlineedit</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
201                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">350</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
202                 <span class="p">}</span>
203                 <span class="n">layout1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qVBoxLayout</span><span class="p">()</span> <span class="p">{</span>
204                         <span class="n">addwidget</span><span class="p">(</span><span class="n">label1</span><span class="p">)</span>
205                         <span class="n">addwidget</span><span class="p">(</span><span class="n">lineedit1</span><span class="p">)</span>
206                         <span class="n">addwidget</span><span class="p">(</span><span class="n">btn1</span><span class="p">)</span>
207                         <span class="n">addwidget</span><span class="p">(</span><span class="n">btn2</span><span class="p">)</span>
208                 <span class="p">}</span>
209                 <span class="n">win1</span><span class="p">.</span><span class="n">setlayout</span><span class="p">(</span><span class="n">layout1</span><span class="p">)</span>
210                 <span class="n">show</span><span class="p">()</span>
211         <span class="p">}</span>
212
213         <span class="n">exec</span><span class="p">()</span>
214
215 <span class="p">}</span>
216
217 <span class="k">Func</span> <span class="n">pHello</span>
218         <span class="n">lineedit1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span> <span class="s">&quot;Hello &quot;</span> <span class="o">+</span> <span class="n">lineedit1</span><span class="p">.</span><span class="n">text</span><span class="p">())</span>
219
220 <span class="k">Func</span> <span class="n">pClose</span>
221         <span class="n">MyApp</span><span class="p">.</span><span class="n">quit</span><span class="p">()</span>
222 </pre></div>
223 </div>
224 <p>実行中のアプリケーション!</p>
225 <img alt="垂直レイアウト" src="_images/ringqt_shot3.jpg" />
226 </div>
227 <div class="section" id="qtextedit">
228 <span id="index-4"></span><h2>QTextEdit クラスの用法<a class="headerlink" href="#qtextedit" title="このヘッドラインへのパーマリンク">¶</a></h2>
229 <p>この用例では、 QTextEdit クラスを使用しています。</p>
230 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
231
232 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
233
234         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span> <span class="p">{</span>
235
236                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;QTextEdit Class&quot;</span><span class="p">)</span>
237                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">500</span><span class="p">,</span><span class="mi">500</span><span class="p">)</span>
238
239                 <span class="k">new</span> <span class="n">qtextedit</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
240                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="mi">480</span><span class="p">,</span><span class="mi">480</span><span class="p">)</span>
241
242                 <span class="p">}</span>
243
244                 <span class="n">show</span><span class="p">()</span>
245         <span class="p">}</span>
246
247         <span class="n">exec</span><span class="p">()</span>
248 <span class="p">}</span>
249 </pre></div>
250 </div>
251 <p>実行中は qtextedit へリッチテキストを貼り付けることができます。</p>
252 <img alt="QTextEdit クラス" src="_images/ringqt_shot4.jpg" />
253 </div>
254 <div class="section" id="qlistwidget">
255 <span id="index-5"></span><h2>QListWidget クラスの用法<a class="headerlink" href="#qlistwidget" title="このヘッドラインへのパーマリンク">¶</a></h2>
256 <p>この用例では、 QListWidget クラスを使用しています。</p>
257 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
258
259 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
260
261         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span> <span class="p">{</span>
262
263                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
264
265                 <span class="n">list1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlistwidget</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
266                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">150</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">200</span><span class="p">)</span>
267                         <span class="n">alist</span> <span class="o">=</span> <span class="o">[</span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="s">&quot;two&quot;</span><span class="p">,</span><span class="s">&quot;three&quot;</span><span class="p">,</span><span class="s">&quot;four&quot;</span><span class="p">,</span><span class="s">&quot;five&quot;</span><span class="o">]</span>
268                         <span class="k">for</span> <span class="n">x</span> <span class="k">in</span> <span class="n">alist</span> <span class="n">additem</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">next</span>
269                         <span class="n">setcurrentrow</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span>
270                         <span class="n">win1</span><span class="p">.</span><span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Items Count : &quot;</span> <span class="o">+</span> <span class="n">count</span><span class="p">()</span> <span class="p">)</span>
271                 <span class="p">}</span>
272
273                 <span class="n">btn1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
274                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
275                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;selected item&quot;</span><span class="p">)</span>
276                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pWork()&quot;</span><span class="p">)</span>
277                 <span class="p">}</span>
278
279                 <span class="n">btn2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
280                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">240</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
281                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Delete item&quot;</span><span class="p">)</span>
282                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pWork2()&quot;</span><span class="p">)</span>
283                 <span class="p">}</span>
284
285                 <span class="n">show</span><span class="p">()</span>
286         <span class="p">}</span>
287
288         <span class="n">exec</span><span class="p">()</span>
289 <span class="p">}</span>
290
291 <span class="k">func</span> <span class="n">pWork</span>
292         <span class="n">btn1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="kt">string</span><span class="p">(</span><span class="n">list1</span><span class="p">.</span><span class="n">currentrow</span><span class="p">()))</span>
293
294 <span class="k">func</span> <span class="n">pWork2</span>
295         <span class="n">list1</span> <span class="p">{</span>
296                <span class="n">takeitem</span><span class="p">(</span><span class="n">currentrow</span><span class="p">())</span>
297         <span class="p">}</span>
298 </pre></div>
299 </div>
300 <p>実行中のアプリケーション</p>
301 <img alt="QListWidget Class" src="_images/ringqt_shot5.jpg" />
302 <p>別の用例:</p>
303 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
304
305 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
306
307         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span> <span class="p">{</span>
308
309                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">500</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
310
311                 <span class="n">list1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlistwidget</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
312                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">150</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">200</span><span class="p">)</span>
313                         <span class="n">alist</span> <span class="o">=</span> <span class="o">[</span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="s">&quot;two&quot;</span><span class="p">,</span><span class="s">&quot;three&quot;</span><span class="p">,</span><span class="s">&quot;four&quot;</span><span class="p">,</span><span class="s">&quot;five&quot;</span><span class="o">]</span>
314                         <span class="k">for</span> <span class="n">x</span> <span class="k">in</span> <span class="n">alist</span> <span class="n">additem</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">next</span>
315
316                         <span class="n">setcurrentrow</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span>
317                         <span class="n">win1</span><span class="p">.</span><span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Items Count : &quot;</span> <span class="o">+</span> <span class="n">count</span><span class="p">()</span> <span class="p">)</span>
318                 <span class="p">}</span>
319
320                 <span class="n">btn1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
321                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
322                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;selected item&quot;</span><span class="p">)</span>
323                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pWork()&quot;</span><span class="p">)</span>
324                 <span class="p">}</span>
325
326                 <span class="n">btn2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
327                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">240</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
328                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Delete item&quot;</span><span class="p">)</span>
329                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pWork2()&quot;</span><span class="p">)</span>
330                 <span class="p">}</span>
331
332                 <span class="n">show</span><span class="p">()</span>
333         <span class="p">}</span>
334
335         <span class="n">exec</span><span class="p">()</span>
336 <span class="p">}</span>
337
338 <span class="k">func</span> <span class="n">pWork</span>
339
340         <span class="n">nbrOfItems</span> <span class="o">=</span> <span class="n">list1</span><span class="p">.</span><span class="n">count</span><span class="p">()</span>
341         <span class="n">curItemNbr</span> <span class="o">=</span> <span class="n">list1</span><span class="p">.</span><span class="n">currentrow</span><span class="p">()</span>
342         <span class="n">curValue</span>   <span class="o">=</span> <span class="n">list1</span><span class="p">.</span><span class="n">item</span><span class="p">(</span><span class="n">list1</span><span class="p">.</span><span class="n">currentrow</span><span class="p">()).</span><span class="n">text</span><span class="p">()</span>
343
344         <span class="n">win1</span><span class="p">.</span><span class="n">setwindowtitle</span><span class="p">(</span> <span class="s">&quot;After Select - NbrOfItems: &quot;</span> <span class="o">+</span> <span class="n">nbrOfItems</span> <span class="o">+</span>
345                 <span class="s">&quot; CurItemNbr: &quot;</span> <span class="o">+</span> <span class="n">curItemNbr</span> <span class="o">+</span> <span class="s">&quot; CurValue: &quot;</span> <span class="o">+</span> <span class="n">curValue</span> <span class="p">)</span>
346
347         <span class="n">btn1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span> <span class="kt">string</span><span class="p">(</span><span class="n">list1</span><span class="p">.</span><span class="n">currentrow</span><span class="p">()</span> <span class="p">)</span> <span class="o">+</span> <span class="s">&quot; --- &quot;</span> <span class="o">+</span>
348                       <span class="n">list1</span><span class="p">.</span><span class="n">item</span><span class="p">(</span><span class="n">list1</span><span class="p">.</span><span class="n">currentrow</span><span class="p">()).</span><span class="n">text</span><span class="p">()</span> <span class="p">)</span>
349
350
351
352 <span class="k">func</span> <span class="n">pWork2</span>
353         <span class="n">list1</span> <span class="p">{</span>
354                 <span class="n">takeitem</span><span class="p">(</span><span class="n">currentrow</span><span class="p">())</span>
355
356                 <span class="n">nbrOfItems</span> <span class="o">=</span> <span class="n">count</span><span class="p">()</span>
357                 <span class="n">curItemNbr</span> <span class="o">=</span> <span class="n">currentrow</span><span class="p">()</span>
358                 <span class="n">curValue</span>   <span class="o">=</span> <span class="n">item</span><span class="p">(</span><span class="n">currentrow</span><span class="p">()).</span><span class="n">text</span><span class="p">()</span>
359
360                 <span class="n">win1</span><span class="p">.</span><span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;After Delete - NbrOfItems: &quot;</span> <span class="o">+</span> <span class="n">nbrOfItems</span> <span class="o">+</span>
361                         <span class="s">&quot; CurItemNbr: &quot;</span> <span class="o">+</span> <span class="n">curItemNbr</span> <span class="o">+</span><span class="s">&quot; CurValue: &quot;</span> <span class="o">+</span> <span class="n">curValue</span> <span class="p">)</span>
362         <span class="p">}</span>
363 </pre></div>
364 </div>
365 </div>
366 <div class="section" id="qtreeview-qfilesystemmodel">
367 <span id="index-6"></span><h2>QTreeView および QFileSystemModel の用法<a class="headerlink" href="#qtreeview-qfilesystemmodel" title="このヘッドラインへのパーマリンク">¶</a></h2>
368 <p>この用例では、ファイルシステムを表示するために QTreeView ウィジェットの用法を学びます。</p>
369 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
370
371 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
372
373         <span class="n">win1</span> <span class="o">=</span> <span class="k">New</span> <span class="n">qWidget</span><span class="p">()</span> <span class="p">{</span>
374
375                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Using QTreeView and QFileSystemModel&quot;</span><span class="p">)</span>
376                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">500</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
377
378                 <span class="k">New</span> <span class="n">qtreeview</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
379                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">00</span><span class="p">,</span><span class="mi">00</span><span class="p">,</span><span class="mi">500</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
380                         <span class="n">oDir</span> <span class="o">=</span> <span class="k">new</span> <span class="n">QDir</span><span class="p">()</span>
381                         <span class="n">ofile</span> <span class="o">=</span> <span class="k">new</span> <span class="n">QFileSystemModel</span><span class="p">()</span>
382                         <span class="n">ofile</span><span class="p">.</span><span class="n">setrootpath</span><span class="p">(</span><span class="n">oDir</span><span class="p">.</span><span class="n">currentpath</span><span class="p">())</span>
383                         <span class="n">setmodel</span><span class="p">(</span><span class="n">ofile</span><span class="p">)</span>
384                 <span class="p">}</span>
385
386                 <span class="n">show</span><span class="p">()</span>
387         <span class="p">}</span>
388
389         <span class="n">exec</span><span class="p">()</span>
390 <span class="p">}</span>
391 </pre></div>
392 </div>
393 <p>実行中のアプリケーション</p>
394 <img alt="QTreeView および QFileSystemModel" src="_images/ringqt_shot6.jpg" />
395 </div>
396 <div class="section" id="qtreewidget-qtreewidgetitem">
397 <span id="index-7"></span><h2>QTreeWidget と QTreeWidgetItem の用法<a class="headerlink" href="#qtreewidget-qtreewidgetitem" title="このヘッドラインへのパーマリンク">¶</a></h2>
398 <p>この用例では、 QTreeWidget および QTreeWidgetItem クラスを学びます。</p>
399 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
400
401 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
402
403         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span> <span class="p">{</span>
404
405                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;TreeWidget&quot;</span><span class="p">)</span>
406                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
407
408                 <span class="n">layout1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qvboxlayout</span><span class="p">()</span>
409
410                 <span class="n">tree1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qtreewidget</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
411                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">00</span><span class="p">,</span><span class="mi">00</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
412                         <span class="n">setcolumncount</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
413                         <span class="n">myitem</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qtreewidgetitem</span><span class="p">()</span>
414                         <span class="n">myitem</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="s">&quot;The First Step&quot;</span><span class="p">)</span>
415                         <span class="n">addtoplevelitem</span><span class="p">(</span><span class="n">myitem</span><span class="p">)</span>
416                         <span class="k">for</span>  <span class="n">x</span> <span class="o">=</span> <span class="mi">1</span> <span class="k">to</span> <span class="mi">10</span>
417                                 <span class="n">myitem2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qtreewidgetitem</span><span class="p">()</span>
418                                 <span class="n">myitem2</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="s">&quot;hello&quot;</span><span class="o">+</span><span class="n">x</span><span class="p">)</span>
419                                 <span class="n">myitem</span><span class="p">.</span><span class="n">addchild</span><span class="p">(</span><span class="n">myitem2</span><span class="p">)</span>
420                                 <span class="k">for</span>  <span class="n">y</span> <span class="o">=</span> <span class="mi">1</span> <span class="k">to</span> <span class="mi">10</span>
421                                         <span class="n">myitem3</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qtreewidgetitem</span><span class="p">()</span>
422                                         <span class="n">myitem3</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="s">&quot;hello&quot;</span><span class="o">+</span><span class="n">x</span><span class="p">)</span>
423                                         <span class="n">myitem2</span><span class="p">.</span><span class="n">addchild</span><span class="p">(</span><span class="n">myitem3</span><span class="p">)</span>
424                                 <span class="k">next</span>
425                         <span class="k">next</span>
426                         <span class="n">setheaderlabel</span><span class="p">(</span><span class="s">&quot;Steps Tree&quot;</span><span class="p">)</span>
427                 <span class="p">}</span>
428
429                 <span class="n">layout1</span><span class="p">.</span><span class="n">addwidget</span><span class="p">(</span><span class="n">tree1</span><span class="p">)</span>
430                 <span class="n">setlayout</span><span class="p">(</span><span class="n">layout1</span><span class="p">)</span>
431
432                 <span class="n">show</span><span class="p">()</span>
433         <span class="p">}</span>
434
435         <span class="n">exec</span><span class="p">()</span>
436 <span class="p">}</span>
437 </pre></div>
438 </div>
439 <p>実行中のアプリケーション</p>
440 <img alt="QTreeWidget と QTreeWidgetItem" src="_images/ringqt_shot7.jpg" />
441 </div>
442 <div class="section" id="qcombobox">
443 <span id="index-8"></span><h2>QComboBox クラスの用法<a class="headerlink" href="#qcombobox" title="このヘッドラインへのパーマリンク">¶</a></h2>
444 <p>この用例では、 QComboBox クラスを学びます。</p>
445 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
446
447 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
448
449         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span> <span class="p">{</span>
450
451                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Using QComboBox&quot;</span><span class="p">)</span>
452                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
453
454                 <span class="k">New</span> <span class="n">QComboBox</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
455                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">150</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
456                         <span class="n">alist</span> <span class="o">=</span> <span class="o">[</span><span class="s">&quot;one&quot;</span><span class="p">,</span><span class="s">&quot;two&quot;</span><span class="p">,</span><span class="s">&quot;three&quot;</span><span class="p">,</span><span class="s">&quot;four&quot;</span><span class="p">,</span><span class="s">&quot;five&quot;</span><span class="o">]</span>
457                         <span class="k">for</span> <span class="n">x</span> <span class="k">in</span> <span class="n">aList</span> <span class="n">additem</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span> <span class="k">next</span>
458                 <span class="p">}</span>
459
460                 <span class="n">show</span><span class="p">()</span>
461         <span class="p">}</span>
462
463         <span class="n">exec</span><span class="p">()</span>
464 <span class="p">}</span>
465 </pre></div>
466 </div>
467 <p>実行中のアプリケーション</p>
468 <img alt="QComboBox" src="_images/ringqt_shot8.jpg" />
469 </div>
470 <div class="section" id="index-9">
471 <span id="id3"></span><h2>メニューバーの作成方法<a class="headerlink" href="#index-9" title="このヘッドラインへのパーマリンク">¶</a></h2>
472 <p>この用例では、 QMenuBar クラスを学びます。</p>
473 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
474
475 <span class="n">MyApp</span> <span class="o">=</span> <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
476
477         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span> <span class="p">{</span>
478
479                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Using QMenubar&quot;</span><span class="p">)</span>
480                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
481
482                 <span class="n">menu1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qmenubar</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
483                         <span class="n">sub1</span> <span class="o">=</span> <span class="n">addmenu</span><span class="p">(</span><span class="s">&quot;File&quot;</span><span class="p">)</span>
484                         <span class="n">sub2</span> <span class="o">=</span> <span class="n">addmenu</span><span class="p">(</span><span class="s">&quot;Edit&quot;</span><span class="p">)</span>
485                         <span class="n">sub3</span> <span class="o">=</span> <span class="n">addmenu</span><span class="p">(</span><span class="s">&quot;Help&quot;</span><span class="p">)</span>
486                         <span class="n">sub1</span> <span class="p">{</span>
487                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
488                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;New&quot;</span><span class="p">)</span>
489                                 <span class="p">}</span>
490                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
491                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
492                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Open&quot;</span><span class="p">)</span>
493                                 <span class="p">}</span>
494                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
495                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
496                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Save&quot;</span><span class="p">)</span>
497                                 <span class="p">}</span>
498                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
499                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
500                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Save As&quot;</span><span class="p">)</span>
501                                 <span class="p">}</span>
502                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
503                                 <span class="n">addseparator</span><span class="p">()</span>
504                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qaction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
505                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Exit&quot;</span><span class="p">)</span>
506                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;myapp.quit()&quot;</span><span class="p">)</span>
507                                 <span class="p">}</span>
508                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
509                         <span class="p">}</span>
510                         <span class="n">sub2</span> <span class="p">{</span>
511                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
512                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Cut&quot;</span><span class="p">)</span>
513                                 <span class="p">}</span>
514                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
515                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
516                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Copy&quot;</span><span class="p">)</span>
517                                 <span class="p">}</span>
518                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
519                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
520                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Paste&quot;</span><span class="p">)</span>
521                                 <span class="p">}</span>
522                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
523                                 <span class="n">addseparator</span><span class="p">()</span>
524                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
525                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Select All&quot;</span><span class="p">)</span>
526                                 <span class="p">}</span>
527                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
528                         <span class="p">}</span>
529                         <span class="n">sub3</span> <span class="p">{</span>
530                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
531                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Reference&quot;</span><span class="p">)</span>
532                                 <span class="p">}</span>
533                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
534                                 <span class="n">sub4</span> <span class="o">=</span> <span class="n">addmenu</span><span class="p">(</span><span class="s">&quot;Sub Menu&quot;</span><span class="p">)</span>
535                                 <span class="n">sub4</span> <span class="p">{</span>
536                                         <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
537                                                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Website&quot;</span><span class="p">)</span>
538                                         <span class="p">}</span>
539                                         <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
540                                         <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
541                                                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Forum&quot;</span><span class="p">)</span>
542                                         <span class="p">}</span>
543                                         <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
544                                         <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
545                                                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Blog&quot;</span><span class="p">)</span>
546                                         <span class="p">}</span>
547                                         <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
548                                 <span class="p">}</span>
549                                 <span class="n">addseparator</span><span class="p">()</span>
550                                         <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
551                                                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;About&quot;</span><span class="p">)</span>
552                                         <span class="p">}</span>
553                                         <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
554                         <span class="p">}</span>
555                 <span class="p">}</span>
556                 <span class="n">show</span><span class="p">()</span>
557         <span class="p">}</span>
558         <span class="n">exec</span><span class="p">()</span>
559 <span class="p">}</span>
560 </pre></div>
561 </div>
562 <p>実行中のアプリケーション</p>
563 <img alt="QMenuBar" src="_images/ringqt_shot9.jpg" />
564 </div>
565 <div class="section" id="index-10">
566 <span id="id4"></span><h2>コンテキストメニュー<a class="headerlink" href="#index-10" title="このヘッドラインへのパーマリンク">¶</a></h2>
567 <p>用例:</p>
568 <div class="highlight-ring"><div class="highlight"><pre><span class="k">load</span> <span class="s">&quot;guilib.ring&quot;</span>
569
570 <span class="k">new</span> <span class="n">qApp</span> <span class="p">{</span>
571         <span class="n">win</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwidget</span><span class="p">()</span> <span class="p">{</span>
572                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Context Menu&quot;</span><span class="p">)</span>
573                 <span class="n">resize</span><span class="p">(</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
574                 <span class="n">myfilter</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAllEvents</span><span class="p">(</span><span class="n">win</span><span class="p">)</span> <span class="p">{</span>
575                         <span class="n">setContextmenuEvent</span><span class="p">(</span><span class="s">&quot;mymenu()&quot;</span><span class="p">)</span>
576                 <span class="p">}</span>
577                 <span class="n">installeventfilter</span><span class="p">(</span><span class="n">myfilter</span><span class="p">)</span>
578                 <span class="n">show</span><span class="p">()</span>
579         <span class="p">}</span>
580         <span class="n">exec</span><span class="p">()</span>
581 <span class="p">}</span>
582
583
584 <span class="k">func</span> <span class="n">mymenu</span>
585
586         <span class="k">new</span> <span class="n">qMenu</span><span class="p">(</span><span class="n">win</span><span class="p">)</span> <span class="p">{</span>
587                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win</span><span class="p">)</span> <span class="p">{</span>
588                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;new&quot;</span><span class="p">)</span>
589                         <span class="n">SetCLickevent</span><span class="p">(</span><span class="s">&quot;See :New&quot;</span><span class="p">)</span>
590                 <span class="p">}</span>
591                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
592                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win</span><span class="p">)</span> <span class="p">{</span>
593                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;open&quot;</span><span class="p">)</span>
594                         <span class="n">SetCLickevent</span><span class="p">(</span><span class="s">&quot;See :Open&quot;</span><span class="p">)</span>
595                 <span class="p">}</span>
596                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
597                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win</span><span class="p">)</span> <span class="p">{</span>
598                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;save&quot;</span><span class="p">)</span>
599                         <span class="n">SetCLickevent</span><span class="p">(</span><span class="s">&quot;See :Save&quot;</span><span class="p">)</span>
600                 <span class="p">}</span>
601                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
602                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win</span><span class="p">)</span> <span class="p">{</span>
603                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;close&quot;</span><span class="p">)</span>
604                         <span class="n">SetCLickevent</span><span class="p">(</span><span class="s">&quot;See :Close&quot;</span><span class="p">)</span>
605                 <span class="p">}</span>
606                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
607                 <span class="n">oCursor</span>  <span class="o">=</span> <span class="k">new</span> <span class="n">qCursor</span><span class="p">()</span>
608                 <span class="n">exec</span><span class="p">(</span><span class="n">oCursor</span><span class="p">.</span><span class="n">pos</span><span class="p">())</span>
609         <span class="p">}</span>
610 </pre></div>
611 </div>
612 </div>
613 <div class="section" id="index-11">
614 <span id="id5"></span><h2>ツールバーの作成方法<a class="headerlink" href="#index-11" title="このヘッドラインへのパーマリンク">¶</a></h2>
615 <p>この用例では、 QToolBar クラスを学びます。</p>
616 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
617
618 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
619
620         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
621
622                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Using QToolbar&quot;</span><span class="p">)</span>
623                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">600</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
624
625                 <span class="n">abtns</span> <span class="o">=</span> <span class="o">[</span>
626                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span> <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Add&quot;</span><span class="p">)</span> <span class="p">}</span> <span class="p">,</span>
627                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span> <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Edit&quot;</span><span class="p">)</span> <span class="p">}</span> <span class="p">,</span>
628                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span> <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Find&quot;</span><span class="p">)</span> <span class="p">}</span> <span class="p">,</span>
629                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span> <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Delete&quot;</span><span class="p">)</span> <span class="p">}</span> <span class="p">,</span>
630                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span> <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Exit&quot;</span><span class="p">)</span>
631                                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;win1.close()&quot;</span><span class="p">)</span> <span class="p">}</span>
632                         <span class="o">]</span>
633
634                 <span class="n">tool1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qtoolbar</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
635                         <span class="k">for</span> <span class="n">x</span> <span class="k">in</span> <span class="n">abtns</span> <span class="n">addwidget</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="n">addseparator</span><span class="p">()</span> <span class="k">next</span>
636                         <span class="n">setmovable</span><span class="p">(</span><span class="kp">true</span><span class="p">)</span>
637                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">500</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
638                         <span class="n">setFloatable</span><span class="p">(</span><span class="kp">true</span><span class="p">)</span>
639                 <span class="p">}</span>
640
641                 <span class="n">show</span><span class="p">()</span>
642         <span class="p">}</span>
643
644         <span class="n">exec</span><span class="p">()</span>
645 <span class="p">}</span>
646 </pre></div>
647 </div>
648 <p>実行中のアプリケーション</p>
649 <img alt="QToolBar" src="_images/ringqt_shot10.jpg" />
650 </div>
651 <div class="section" id="index-12">
652 <span id="id6"></span><h2>ステータスバーの作成方法<a class="headerlink" href="#index-12" title="このヘッドラインへのパーマリンク">¶</a></h2>
653 <p>この用例では、 QStatusBar クラスを学びます。</p>
654 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
655
656 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
657
658         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
659
660                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Using QStatusbar&quot;</span><span class="p">)</span>
661                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
662
663                 <span class="n">status1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qstatusbar</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
664                         <span class="n">showmessage</span><span class="p">(</span><span class="s">&quot;Ready!&quot;</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
665                 <span class="p">}</span>
666
667                 <span class="n">setstatusbar</span><span class="p">(</span><span class="n">status1</span><span class="p">)</span>
668                 <span class="n">show</span><span class="p">()</span>
669         <span class="p">}</span>
670
671         <span class="n">exec</span><span class="p">()</span>
672 <span class="p">}</span>
673 </pre></div>
674 </div>
675 <p>実行中のアプリケーション</p>
676 <img alt="QStatusBar" src="_images/ringqt_shot11.jpg" />
677 </div>
678 <div class="section" id="qdockwidget">
679 <span id="index-13"></span><h2>QDockWidget の用法<a class="headerlink" href="#qdockwidget" title="このヘッドラインへのパーマリンク">¶</a></h2>
680 <p>この用例では、 QDockWidget クラスを学びます。</p>
681 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
682
683 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
684
685         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
686
687                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;QDockWidget&quot;</span><span class="p">)</span>
688                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
689
690                 <span class="n">label1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlabel</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
691                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Hello&quot;</span><span class="p">)</span>
692                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">300</span><span class="p">,</span><span class="mi">300</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">)</span>
693                 <span class="p">}</span>
694
695                 <span class="n">label2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlabel</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
696                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;How are you ?&quot;</span><span class="p">)</span>
697                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">)</span>
698                 <span class="p">}</span>
699
700                 <span class="n">dock1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qdockwidget</span><span class="p">(</span><span class="n">win1</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
701                         <span class="n">setwidget</span><span class="p">(</span><span class="n">label1</span><span class="p">)</span>
702                         <span class="n">SetAllowedAreas</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
703                 <span class="p">}</span>
704
705                 <span class="n">dock2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qdockwidget</span><span class="p">(</span><span class="n">win1</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
706                         <span class="n">setwidget</span><span class="p">(</span><span class="n">label2</span><span class="p">)</span>
707                         <span class="n">SetAllowedAreas</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
708                 <span class="p">}</span>
709
710                 <span class="n">adddockwidget</span><span class="p">(</span><span class="n">Qt_LeftDockWidgetArea</span><span class="p">,</span><span class="n">dock1</span><span class="p">,</span><span class="n">Qt_Horizontal</span><span class="p">)</span>
711                 <span class="n">adddockwidget</span><span class="p">(</span><span class="n">Qt_LeftDockWidgetArea</span><span class="p">,</span><span class="n">dock2</span><span class="p">,</span><span class="n">Qt_Vertical</span><span class="p">)</span>
712
713                 <span class="n">show</span><span class="p">()</span>
714         <span class="p">}</span>
715         <span class="n">exec</span><span class="p">()</span>
716 <span class="p">}</span>
717 </pre></div>
718 </div>
719 <p>実行中のアプリケーション</p>
720 <img alt="QDockWidget" src="_images/ringqt_shot12.jpg" />
721 </div>
722 <div class="section" id="qtabwidget">
723 <span id="index-14"></span><h2>QTabWidget の用法<a class="headerlink" href="#qtabwidget" title="このヘッドラインへのパーマリンク">¶</a></h2>
724 <p>この用例では、 QTabWidget クラスを学びます。</p>
725 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
726
727 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
728
729         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
730
731                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Using QTabWidget&quot;</span><span class="p">)</span>
732                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
733
734                 <span class="n">page1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwidget</span><span class="p">()</span> <span class="p">{</span>
735                         <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">page1</span><span class="p">)</span> <span class="p">{</span>
736                                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;The First Page&quot;</span><span class="p">)</span>
737                         <span class="p">}</span>
738                 <span class="p">}</span>
739
740                 <span class="n">page2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwidget</span><span class="p">()</span> <span class="p">{</span>
741                         <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">page2</span><span class="p">)</span> <span class="p">{</span>
742                                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;The Second Page&quot;</span><span class="p">)</span>
743                         <span class="p">}</span>
744                 <span class="p">}</span>
745
746                 <span class="n">page3</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwidget</span><span class="p">()</span> <span class="p">{</span>
747                         <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">page3</span><span class="p">)</span> <span class="p">{</span>
748                                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;The Third Page&quot;</span><span class="p">)</span>
749                         <span class="p">}</span>
750                 <span class="p">}</span>
751
752                 <span class="n">tab1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qtabwidget</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
753                         <span class="n">inserttab</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="n">page1</span><span class="p">,</span><span class="s">&quot;Page 1&quot;</span><span class="p">)</span>
754                         <span class="n">inserttab</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="n">page2</span><span class="p">,</span><span class="s">&quot;Page 2&quot;</span><span class="p">)</span>
755                         <span class="n">inserttab</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="n">page3</span><span class="p">,</span><span class="s">&quot;Page 3&quot;</span><span class="p">)</span>
756                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
757                 <span class="p">}</span>
758
759                 <span class="n">status1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qstatusbar</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
760                         <span class="n">showmessage</span><span class="p">(</span><span class="s">&quot;Ready!&quot;</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
761                 <span class="p">}</span>
762
763                 <span class="n">setstatusbar</span><span class="p">(</span><span class="n">status1</span><span class="p">)</span>
764                 <span class="n">showMaximized</span><span class="p">()</span>
765         <span class="p">}</span>
766
767         <span class="n">exec</span><span class="p">()</span>
768 <span class="p">}</span>
769 </pre></div>
770 </div>
771 <p>実行中のアプリケーション</p>
772 <img alt="QTabWidget" src="_images/ringqt_shot13.jpg" />
773 </div>
774 <div class="section" id="qtablewidget">
775 <span id="index-15"></span><h2>QTableWidget の用法<a class="headerlink" href="#qtablewidget" title="このヘッドラインへのパーマリンク">¶</a></h2>
776 <p>この用例では、 QTableWidget クラスを学びます。</p>
777 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
778
779 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
780
781         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
782
783                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">1100</span><span class="p">,</span><span class="mi">370</span><span class="p">)</span>
784                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Using QTableWidget&quot;</span><span class="p">)</span>
785
786                 <span class="n">Table1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qTableWidget</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
787
788                         <span class="n">setrowcount</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span> <span class="n">setcolumncount</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
789                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">800</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
790                         <span class="n">setselectionbehavior</span><span class="p">(</span><span class="n">QAbstractItemView_SelectRows</span><span class="p">)</span>
791
792                         <span class="k">for</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">1</span> <span class="k">to</span> <span class="mi">10</span>
793                                 <span class="k">for</span> <span class="n">y</span> <span class="o">=</span> <span class="mi">1</span> <span class="k">to</span> <span class="mi">10</span>
794                                         <span class="n">item1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qtablewidgetitem</span><span class="p">(</span><span class="s">&quot;R&quot;</span><span class="o">+</span><span class="n">X</span><span class="o">+</span><span class="s">&quot;C&quot;</span><span class="o">+</span><span class="n">Y</span><span class="p">)</span>
795                                         <span class="n">setitem</span><span class="p">(</span><span class="n">x</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">y</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">item1</span><span class="p">)</span>
796                                 <span class="k">next</span>
797                         <span class="k">next</span>
798
799                 <span class="p">}</span>
800
801                 <span class="n">setcentralwidget</span><span class="p">(</span><span class="n">table1</span><span class="p">)</span>
802                 <span class="n">show</span><span class="p">()</span>
803
804         <span class="p">}</span>
805
806         <span class="n">exec</span><span class="p">()</span>
807 <span class="p">}</span>
808 </pre></div>
809 </div>
810 <p>実行中のアプリケーション</p>
811 <img alt="QTableWidget" src="_images/ringqt_shot14.jpg" />
812 </div>
813 <div class="section" id="qprogressbar">
814 <span id="index-16"></span><h2>QProgressBar の用法<a class="headerlink" href="#qprogressbar" title="このヘッドラインへのパーマリンク">¶</a></h2>
815 <p>この用例では、 QProgressBar クラスを学びます。</p>
816 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
817
818 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
819         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
820
821                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">600</span><span class="p">,</span><span class="mi">150</span><span class="p">)</span>
822                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Using QProgressBar&quot;</span><span class="p">)</span>
823
824                 <span class="k">for</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">10</span> <span class="k">to</span> <span class="mi">100</span> <span class="k">step</span> <span class="mi">10</span>
825                         <span class="k">new</span> <span class="n">qprogressbar</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
826                                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="mi">350</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
827                                 <span class="n">setvalue</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
828                         <span class="p">}</span>
829                 <span class="k">next</span>
830
831                 <span class="n">show</span><span class="p">()</span>
832         <span class="p">}</span>
833         <span class="n">exec</span><span class="p">()</span>
834 <span class="p">}</span>
835 </pre></div>
836 </div>
837 <p>実行中のアプリケーション</p>
838 <img alt="QProgressBar" src="_images/ringqt_shot15.jpg" />
839 </div>
840 <div class="section" id="qspinbox">
841 <span id="index-17"></span><h2>QSpinBox の用法<a class="headerlink" href="#qspinbox" title="このヘッドラインへのパーマリンク">¶</a></h2>
842 <p>この用例では、 QSpinBox クラスを学びます。</p>
843 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
844
845 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
846         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
847                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">450</span><span class="p">,</span><span class="mi">260</span><span class="p">)</span>
848                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Using QSpinBox&quot;</span><span class="p">)</span>
849                         <span class="k">new</span> <span class="n">qspinbox</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
850                                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">50</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">350</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
851                                 <span class="n">setvalue</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
852                         <span class="p">}</span>
853                 <span class="n">show</span><span class="p">()</span>
854         <span class="p">}</span>
855         <span class="n">exec</span><span class="p">()</span>
856 <span class="p">}</span>
857 </pre></div>
858 </div>
859 <p>実行中のアプリケーション</p>
860 <img alt="QSpinBox" src="_images/ringqt_shot16.jpg" />
861 </div>
862 <div class="section" id="qslider">
863 <span id="index-18"></span><h2>QSlider の用法<a class="headerlink" href="#qslider" title="このヘッドラインへのパーマリンク">¶</a></h2>
864 <p>この用例では、 QSlider クラスを学びます。</p>
865 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
866
867 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
868
869         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
870
871                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">500</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
872                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Using QSlider&quot;</span><span class="p">)</span>
873
874                 <span class="k">new</span> <span class="n">qslider</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
875                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mi">130</span><span class="p">)</span>
876                         <span class="n">settickinterval</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
877                 <span class="p">}</span>
878
879                 <span class="k">new</span> <span class="n">qslider</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
880                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">250</span><span class="p">,</span><span class="mi">250</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
881                         <span class="n">settickinterval</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
882                         <span class="n">setorientation</span><span class="p">(</span><span class="n">Qt_Horizontal</span><span class="p">)</span>
883                 <span class="p">}</span>
884
885                 <span class="n">show</span><span class="p">()</span>
886
887         <span class="p">}</span>
888
889         <span class="n">exec</span><span class="p">()</span>
890 <span class="p">}</span>
891 </pre></div>
892 </div>
893 <p>実行中のアプリケーション</p>
894 <img alt="QSlider" src="_images/ringqt_shot17.jpg" />
895 </div>
896 <div class="section" id="qdateedit">
897 <span id="index-19"></span><h2>QDateEdit の用法<a class="headerlink" href="#qdateedit" title="このヘッドラインへのパーマリンク">¶</a></h2>
898 <p>この用例では、 QDateEdit クラスを学びます。</p>
899 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
900
901 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
902         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
903                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Using QDateEdit&quot;</span><span class="p">)</span>
904                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">250</span><span class="p">,</span><span class="mi">100</span><span class="p">)</span>
905                 <span class="k">new</span> <span class="n">qdateedit</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
906                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">20</span><span class="p">,</span><span class="mi">40</span><span class="p">,</span><span class="mi">220</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
907                 <span class="p">}</span>
908                 <span class="n">show</span><span class="p">()</span>
909         <span class="p">}</span>
910         <span class="n">exec</span><span class="p">()</span>
911 <span class="p">}</span>
912 </pre></div>
913 </div>
914 <p>実行中のアプリケーション</p>
915 <img alt="QDateEdit" src="_images/ringqt_shot18.jpg" />
916 </div>
917 <div class="section" id="qdial">
918 <span id="index-20"></span><h2>QDial の用法<a class="headerlink" href="#qdial" title="このヘッドラインへのパーマリンク">¶</a></h2>
919 <p>この用例では、 QDial クラスを学びます。</p>
920 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
921
922 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
923         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
924                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">450</span><span class="p">,</span><span class="mi">500</span><span class="p">)</span>
925                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Using QDial&quot;</span><span class="p">)</span>
926                 <span class="k">new</span> <span class="n">qdial</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
927                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">250</span><span class="p">,</span><span class="mi">300</span><span class="p">)</span>
928                 <span class="p">}</span>
929                 <span class="n">show</span><span class="p">()</span>
930         <span class="p">}</span>
931         <span class="n">exec</span><span class="p">()</span>
932 <span class="p">}</span>
933 </pre></div>
934 </div>
935 <p>実行中のアプリケーション</p>
936 <img alt="QDial" src="_images/ringqt_shot19.jpg" />
937 <p>その他の用例:</p>
938 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
939
940 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
941                  <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span>
942                 <span class="p">{</span>
943                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">450</span><span class="p">,</span><span class="mi">500</span><span class="p">)</span>
944                         <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Using QDial&quot;</span><span class="p">)</span>
945                         <span class="n">button1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">QPushButton</span><span class="p">(</span><span class="n">win1</span><span class="p">){</span>
946                                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">350</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
947                                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Increment&quot;</span><span class="p">)</span>
948                                 <span class="n">setClickEvent</span><span class="p">(</span><span class="s">&quot;pIncrement()&quot;</span><span class="p">)</span>
949                         <span class="p">}</span>
950
951                         <span class="n">button2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">QPushButton</span><span class="p">(</span><span class="n">win1</span><span class="p">){</span>
952                                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">250</span><span class="p">,</span><span class="mi">350</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
953                                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Decrement&quot;</span><span class="p">)</span>
954                                 <span class="n">setClickEvent</span><span class="p">(</span><span class="s">&quot;pDecrement()&quot;</span><span class="p">)</span>
955                         <span class="p">}</span>
956                         <span class="n">pdial</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qdial</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
957                                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mi">250</span><span class="p">,</span><span class="mi">300</span><span class="p">)</span>
958                                 <span class="n">setNotchesVisible</span><span class="p">(</span><span class="kp">true</span><span class="p">)</span>
959                                 <span class="n">setValue</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
960                                 <span class="n">SetValueChangedEvent</span><span class="p">(</span><span class="s">&quot;pDialMove()&quot;</span><span class="p">)</span>
961                         <span class="p">}</span>
962                         <span class="n">lineedit1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlineedit</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
963                                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">200</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
964                                 <span class="n">setalignment</span><span class="p">(</span><span class="n">Qt_AlignHCenter</span><span class="p">)</span>
965                                 <span class="n">settext</span><span class="p">(</span><span class="kt">string</span><span class="p">(</span><span class="n">pdial</span><span class="p">.</span><span class="n">value</span><span class="p">()))</span>
966                                 <span class="n">setreturnPressedEvent</span><span class="p">(</span><span class="s">&quot;pPress()&quot;</span><span class="p">)</span>
967                         <span class="p">}</span>
968                         <span class="n">show</span><span class="p">()</span>
969                   <span class="p">}</span>
970         <span class="n">exec</span><span class="p">()</span>
971 <span class="p">}</span>
972
973 <span class="k">func</span> <span class="n">pIncrement</span>
974         <span class="n">pdial</span><span class="p">{</span><span class="n">val</span><span class="o">=</span><span class="n">value</span><span class="p">()}</span>
975         <span class="n">pdial</span><span class="p">.</span><span class="n">setvalue</span><span class="p">(</span><span class="n">val</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span>
976         <span class="n">lineedit1</span><span class="p">{</span><span class="n">settext</span><span class="p">(</span><span class="kt">string</span><span class="p">(</span><span class="n">val</span><span class="o">+</span><span class="mi">1</span><span class="p">))}</span>
977
978 <span class="k">func</span> <span class="n">pDecrement</span>
979         <span class="n">pdial</span><span class="p">{</span><span class="n">val</span><span class="o">=</span><span class="n">value</span><span class="p">()}</span>
980         <span class="n">pdial</span><span class="p">.</span><span class="n">setvalue</span><span class="p">(</span><span class="n">val</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span>
981         <span class="n">lineedit1</span><span class="p">{</span><span class="n">settext</span><span class="p">(</span><span class="kt">string</span><span class="p">(</span><span class="n">val</span><span class="o">-</span><span class="mi">1</span><span class="p">))}</span>
982
983 <span class="k">func</span> <span class="n">pPress</span>
984         <span class="n">lineedit1</span><span class="p">{</span><span class="n">val</span><span class="o">=</span><span class="n">text</span><span class="p">()}</span>
985         <span class="n">pdial</span><span class="p">.</span><span class="n">setvalue</span><span class="p">(</span><span class="n">number</span><span class="p">(</span><span class="n">val</span><span class="p">))</span>
986
987 <span class="k">func</span> <span class="n">pDialMove</span>
988         <span class="n">lineedit1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="o">+</span><span class="n">pdial</span><span class="p">.</span><span class="n">value</span><span class="p">())</span>
989 </pre></div>
990 </div>
991 <img alt="QDial - 第二用例" src="_images/usingqdial.png" />
992 </div>
993 <div class="section" id="qwebview">
994 <span id="index-21"></span><h2>QWebView の用法<a class="headerlink" href="#qwebview" title="このヘッドラインへのパーマリンク">¶</a></h2>
995 <p>この用例では、 QWebView クラスを学びます。</p>
996 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
997
998 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
999         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
1000                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;QWebView&quot;</span><span class="p">)</span>
1001                 <span class="n">myweb</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwebview</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1002                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="mi">600</span><span class="p">,</span><span class="mi">600</span><span class="p">)</span>
1003                         <span class="n">loadpage</span><span class="p">(</span><span class="k">new</span> <span class="n">qurl</span><span class="p">(</span><span class="s">&quot;http://google.com&quot;</span><span class="p">))</span>
1004                 <span class="p">}</span>
1005                 <span class="n">setcentralwidget</span><span class="p">(</span><span class="n">myweb</span><span class="p">)</span>
1006                 <span class="n">showMaximized</span><span class="p">()</span>
1007         <span class="p">}</span>
1008         <span class="n">exec</span><span class="p">()</span>
1009 <span class="p">}</span>
1010 </pre></div>
1011 </div>
1012 <p>実行中のアプリケーション</p>
1013 <img alt="QWebView" src="_images/ringqt_shot20.jpg" />
1014 </div>
1015 <div class="section" id="qcheckbox">
1016 <span id="index-22"></span><h2>QCheckBox の用法<a class="headerlink" href="#qcheckbox" title="このヘッドラインへのパーマリンク">¶</a></h2>
1017 <p>この用例では、 QCheckBox クラスを学びます。</p>
1018 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1019
1020 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
1021         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
1022                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Using QCheckBox&quot;</span><span class="p">)</span>
1023                 <span class="k">new</span> <span class="n">qcheckbox</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1024                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1025                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;New Customer!&quot;</span><span class="p">)</span>
1026                 <span class="p">}</span>
1027                 <span class="n">showMaximized</span><span class="p">()</span>
1028         <span class="p">}</span>
1029         <span class="n">exec</span><span class="p">()</span>
1030 <span class="p">}</span>
1031 </pre></div>
1032 </div>
1033 <p>実行中のアプリケーション</p>
1034 <img alt="QCheckBox" src="_images/ringqt_shot21.jpg" />
1035 <p>その他の用例:</p>
1036 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1037
1038 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
1039         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
1040                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">300</span><span class="p">)</span>
1041                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Using QCheckBox&quot;</span><span class="p">)</span>
1042
1043                 <span class="sd">### 0: チェックされていない。  1: チェックされた。</span>
1044
1045                 <span class="n">CheckBox</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qcheckbox</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1046                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">160</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1047                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;New Customer!&quot;</span><span class="p">)</span>
1048                         <span class="n">setclickedEvent</span><span class="p">(</span><span class="s">&quot;HandleClickEvent()&quot;</span><span class="p">)</span>
1049                 <span class="p">}</span>
1050
1051                 <span class="n">show</span><span class="p">()</span>
1052         <span class="p">}</span>
1053         <span class="n">exec</span><span class="p">()</span>
1054 <span class="p">}</span>
1055
1056 <span class="k">Func</span> <span class="n">HandleClickEvent</span>
1057
1058     <span class="k">if</span> <span class="n">CheckBox</span><span class="p">.</span><span class="n">isChecked</span><span class="p">()</span> <span class="o">=</span> <span class="mi">1</span>
1059         <span class="n">CheckBox</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="s">&quot;New Customer. Check 1-ON&quot;</span><span class="p">)</span>
1060     <span class="k">else</span>
1061         <span class="n">CheckBox</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="s">&quot;New Customer. Check 0-OFF&quot;</span><span class="p">)</span>
1062     <span class="k">ok</span>
1063 </pre></div>
1064 </div>
1065 </div>
1066 <div class="section" id="qradiobutton-qbuttongroup">
1067 <span id="index-23"></span><h2>QRadioButton と QButtonGroup の用法<a class="headerlink" href="#qradiobutton-qbuttongroup" title="このヘッドラインへのパーマリンク">¶</a></h2>
1068 <p>この用例では、 QRadioButton および QButtonGroup クラスを学びます。</p>
1069 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1070
1071 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
1072
1073         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
1074
1075                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Using QRadioButton&quot;</span><span class="p">)</span>
1076
1077                 <span class="k">new</span> <span class="n">qradiobutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1078                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1079                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;One&quot;</span><span class="p">)</span>
1080                 <span class="p">}</span>
1081                 <span class="k">new</span> <span class="n">qradiobutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1082                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">150</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1083                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Two&quot;</span><span class="p">)</span>
1084                 <span class="p">}</span>
1085                 <span class="k">new</span> <span class="n">qradiobutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1086                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1087                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Three&quot;</span><span class="p">)</span>
1088                 <span class="p">}</span>
1089
1090
1091                 <span class="n">group2</span>  <span class="o">=</span> <span class="k">new</span> <span class="n">qbuttongroup</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1092                         <span class="n">btn4</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qradiobutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1093                                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">200</span><span class="p">,</span><span class="mi">150</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1094                                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Four&quot;</span><span class="p">)</span>
1095                         <span class="p">}</span>
1096                         <span class="n">btn5</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qradiobutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1097                                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">200</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1098                                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Five&quot;</span><span class="p">)</span>
1099                         <span class="p">}</span>
1100                         <span class="n">addbutton</span><span class="p">(</span><span class="n">btn4</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
1101                         <span class="n">addbutton</span><span class="p">(</span><span class="n">btn5</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
1102
1103                 <span class="p">}</span>
1104
1105                 <span class="n">showMaximized</span><span class="p">()</span>
1106
1107         <span class="p">}</span>
1108         <span class="n">exec</span><span class="p">()</span>
1109 <span class="p">}</span>
1110 </pre></div>
1111 </div>
1112 <p>実行中のアプリケーション</p>
1113 <img alt="QRadioButton と QButtonGroup の用法" src="_images/ringqt_shot22.jpg" />
1114 </div>
1115 <div class="section" id="qlabel">
1116 <span id="index-24"></span><h2>QLabel へハイパーリンクを追加するには<a class="headerlink" href="#qlabel" title="このヘッドラインへのパーマリンク">¶</a></h2>
1117 <p>この用例では、 QLabel クラスでハイパーリンクを作成する方法を学びます。</p>
1118 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1119
1120 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
1121         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
1122                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;QLabel - Hyperlink&quot;</span><span class="p">)</span>
1123                 <span class="k">new</span> <span class="n">qlabel</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1124                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1125                         <span class="n">setopenexternallinks</span><span class="p">(</span><span class="kp">true</span><span class="p">)</span>
1126                         <span class="n">settext</span><span class="p">(</span><span class="sc">&#39;&lt;a href=&quot;http://google.com&quot;&gt;Google&lt;/a&gt;&#39;</span><span class="p">)</span>
1127                 <span class="p">}</span>
1128                 <span class="n">showMaximized</span><span class="p">()</span>
1129         <span class="p">}</span>
1130         <span class="n">exec</span><span class="p">()</span>
1131 <span class="p">}</span>
1132 </pre></div>
1133 </div>
1134 <p>実行中のアプリケーション</p>
1135 <img alt="ハイパーリンク" src="_images/ringqt_shot23.jpg" />
1136 </div>
1137 <div class="section" id="qvideowidget-qmediaplayer">
1138 <span id="index-25"></span><h2>QVideoWidget と QMediaPlayer<a class="headerlink" href="#qvideowidget-qmediaplayer" title="このヘッドラインへのパーマリンク">¶</a></h2>
1139 <p>この用例では、 QVideoWidget および QMediaPlayer クラスで動画のグループを
1140 異なる位置から同時再生する方法を学びます。</p>
1141 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1142
1143 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
1144
1145         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
1146
1147                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;QVideoWidget&quot;</span><span class="p">)</span>
1148
1149                 <span class="n">btn1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>    <span class="p">{</span>
1150                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1151                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;play&quot;</span><span class="p">)</span>
1152                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;player.play() player2.play()</span>
1153                                                    <span class="n">player3</span><span class="p">.</span><span class="n">play</span><span class="p">()</span> <span class="n">player4</span><span class="p">.</span><span class="n">play</span><span class="p">()</span><span class="s">&quot;)</span>
1154                 <span class="p">}</span>
1155
1156                 <span class="n">videowidget</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qvideowidget</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1157                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">50</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mi">600</span><span class="p">,</span><span class="mi">300</span><span class="p">)</span>
1158                         <span class="n">setstylesheet</span><span class="p">(</span><span class="s">&quot;background-color: black&quot;</span><span class="p">)</span>
1159                 <span class="p">}</span>
1160
1161                 <span class="n">videowidget2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qvideowidget</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1162                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">700</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mi">600</span><span class="p">,</span><span class="mi">300</span><span class="p">)</span>
1163                         <span class="n">setstylesheet</span><span class="p">(</span><span class="s">&quot;background-color: black&quot;</span><span class="p">)</span>
1164                 <span class="p">}</span>
1165
1166
1167                 <span class="n">videowidget3</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qvideowidget</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1168                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">50</span><span class="p">,</span><span class="mi">370</span><span class="p">,</span><span class="mi">600</span><span class="p">,</span><span class="mi">300</span><span class="p">)</span>
1169                         <span class="n">setstylesheet</span><span class="p">(</span><span class="s">&quot;background-color: black&quot;</span><span class="p">)</span>
1170                 <span class="p">}</span>
1171
1172                 <span class="n">videowidget4</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qvideowidget</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1173                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">700</span><span class="p">,</span><span class="mi">370</span><span class="p">,</span><span class="mi">600</span><span class="p">,</span><span class="mi">300</span><span class="p">)</span>
1174                         <span class="n">setstylesheet</span><span class="p">(</span><span class="s">&quot;background-color: black&quot;</span><span class="p">)</span>
1175                 <span class="p">}</span>
1176
1177                 <span class="n">player</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qmediaplayer</span><span class="p">()</span> <span class="p">{</span>
1178                         <span class="n">setmedia</span><span class="p">(</span><span class="k">new</span> <span class="n">qurl</span><span class="p">(</span><span class="s">&quot;1.mp4&quot;</span><span class="p">))</span>
1179                         <span class="n">setvideooutput</span><span class="p">(</span><span class="n">videowidget</span><span class="p">)</span>
1180                         <span class="n">setposition</span><span class="p">(</span><span class="mi">35</span><span class="o">*</span><span class="mi">60</span><span class="o">*</span><span class="mi">1000</span><span class="p">)</span>
1181
1182                 <span class="p">}</span>
1183
1184                 <span class="n">player2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qmediaplayer</span><span class="p">()</span> <span class="p">{</span>
1185                         <span class="n">setmedia</span><span class="p">(</span><span class="k">new</span> <span class="n">qurl</span><span class="p">(</span><span class="s">&quot;2.mp4&quot;</span><span class="p">))</span>
1186                         <span class="n">setvideooutput</span><span class="p">(</span><span class="n">videowidget2</span><span class="p">)</span>
1187                         <span class="n">setposition</span><span class="p">(</span><span class="mi">23</span><span class="o">*</span><span class="mi">60</span><span class="o">*</span><span class="mi">1000</span><span class="p">)</span>
1188                 <span class="p">}</span>
1189
1190                 <span class="n">player3</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qmediaplayer</span><span class="p">()</span> <span class="p">{</span>
1191                         <span class="n">setmedia</span><span class="p">(</span><span class="k">new</span> <span class="n">qurl</span><span class="p">(</span><span class="s">&quot;3.mp4&quot;</span><span class="p">))</span>
1192                         <span class="n">setvideooutput</span><span class="p">(</span><span class="n">videowidget3</span><span class="p">)</span>
1193                         <span class="n">setposition</span><span class="p">(</span><span class="mf">14.22</span><span class="o">*</span><span class="mi">60</span><span class="o">*</span><span class="mi">1000</span><span class="p">)</span>
1194                 <span class="p">}</span>
1195
1196                 <span class="n">player4</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qmediaplayer</span><span class="p">()</span> <span class="p">{</span>
1197                         <span class="n">setmedia</span><span class="p">(</span><span class="k">new</span> <span class="n">qurl</span><span class="p">(</span><span class="s">&quot;4.avi&quot;</span><span class="p">))</span>
1198                         <span class="n">setvideooutput</span><span class="p">(</span><span class="n">videowidget4</span><span class="p">)</span>
1199                         <span class="n">setposition</span><span class="p">(</span><span class="mi">8</span><span class="o">*</span><span class="mi">60</span><span class="o">*</span><span class="mi">1000</span><span class="p">)</span>
1200                 <span class="p">}</span>
1201
1202                 <span class="n">showfullscreen</span><span class="p">()</span>
1203
1204         <span class="p">}</span>
1205
1206         <span class="n">exec</span><span class="p">()</span>
1207
1208 <span class="p">}</span>
1209 </pre></div>
1210 </div>
1211 <p>実行中のアプリケーション</p>
1212 <img alt="QVideoWidget" src="_images/ringqt_shot24.jpg" />
1213 </div>
1214 <div class="section" id="qframe">
1215 <span id="index-26"></span><h2>QFrame の用法<a class="headerlink" href="#qframe" title="このヘッドラインへのパーマリンク">¶</a></h2>
1216 <p>この用例では、 QFrame クラスを学びます。</p>
1217 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1218
1219 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
1220         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
1221                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Using QFrame&quot;</span><span class="p">)</span>
1222                 <span class="k">for</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">0</span> <span class="k">to</span> <span class="mi">10</span>
1223                         <span class="n">frame1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qframe</span><span class="p">(</span><span class="n">win1</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
1224                                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">20</span><span class="o">+</span><span class="mi">50</span><span class="o">*</span><span class="n">x</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1225                                 <span class="n">setframestyle</span><span class="p">(</span><span class="n">QFrame_Raised</span> <span class="o">|</span> <span class="n">QFrame_WinPanel</span><span class="p">)</span>
1226                         <span class="p">}</span>
1227                 <span class="k">next</span>
1228                 <span class="n">showMaximized</span><span class="p">()</span>
1229         <span class="p">}</span>
1230         <span class="n">exec</span><span class="p">()</span>
1231 <span class="p">}</span>
1232 </pre></div>
1233 </div>
1234 <p>実行中のアプリケーション</p>
1235 <img alt="QFrame" src="_images/ringqt_shot25.jpg" />
1236 </div>
1237 <div class="section" id="index-27">
1238 <span id="id7"></span><h2>QLabel による画像の表示方法<a class="headerlink" href="#index-27" title="このヘッドラインへのパーマリンク">¶</a></h2>
1239 <p>QLabel ウイジェットによる画像の表示方法を学びます。</p>
1240 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1241
1242 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
1243         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
1244                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;QLabel - Display image&quot;</span><span class="p">)</span>
1245                 <span class="k">new</span> <span class="n">qlabel</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1246                         <span class="n">image</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpixmap</span><span class="p">(</span><span class="s">&quot;b:/mahmoud/photo/advice.jpg&quot;</span><span class="p">)</span>
1247                         <span class="n">setpixmap</span><span class="p">(</span><span class="n">image</span><span class="p">)</span>
1248                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">image</span><span class="p">.</span><span class="n">width</span><span class="p">(),</span><span class="n">image</span><span class="p">.</span><span class="n">height</span><span class="p">())</span>
1249                 <span class="p">}</span>
1250                 <span class="n">showMaximized</span><span class="p">()</span>
1251         <span class="p">}</span>
1252         <span class="n">exec</span><span class="p">()</span>
1253 <span class="p">}</span>
1254 </pre></div>
1255 </div>
1256 <p>実行中のアプリケーション</p>
1257 <img alt="画像の表示" src="_images/ringqt_shot26.jpg" />
1258 </div>
1259 <div class="section" id="index-28">
1260 <span id="id8"></span><h2>メニューバーとスタイルシートの用例<a class="headerlink" href="#index-28" title="このヘッドラインへのパーマリンク">¶</a></h2>
1261 <p>メニューバーの作成、およびウィンドウのスタイルシートの設定方法を学びます。</p>
1262 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1263
1264 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
1265
1266         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
1267
1268                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Menubar&quot;</span><span class="p">)</span>
1269
1270                 <span class="n">menu1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qmenubar</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1271                         <span class="n">sub1</span> <span class="o">=</span> <span class="n">addmenu</span><span class="p">(</span><span class="s">&quot;File&quot;</span><span class="p">)</span>
1272                         <span class="n">sub1</span> <span class="p">{</span>
1273                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1274                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;New&quot;</span><span class="p">)</span>
1275                                         <span class="n">setenabled</span><span class="p">(</span><span class="kp">false</span><span class="p">)</span>
1276                                 <span class="p">}</span>
1277                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
1278                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1279                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Open&quot;</span><span class="p">)</span>
1280                                         <span class="n">setcheckable</span><span class="p">(</span><span class="kp">true</span><span class="p">)</span>
1281                                         <span class="n">setchecked</span><span class="p">(</span><span class="kp">true</span><span class="p">)</span>
1282                                         <span class="n">setstatustip</span><span class="p">(</span><span class="s">&quot;open new file&quot;</span><span class="p">)</span>
1283                                 <span class="p">}</span>
1284                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
1285                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1286                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Save&quot;</span><span class="p">)</span>
1287                                 <span class="p">}</span>
1288                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
1289                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1290                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Save As&quot;</span><span class="p">)</span>
1291                                 <span class="p">}</span>
1292                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
1293
1294                                 <span class="n">addseparator</span><span class="p">()</span>
1295                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qaction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
1296                                 <span class="n">oAction</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="s">&quot;Exit&quot;</span><span class="p">)</span>
1297                                 <span class="n">oAction</span><span class="p">.</span><span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;myapp.quit()&quot;</span><span class="p">)</span>
1298                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
1299                         <span class="p">}</span>
1300
1301                 <span class="p">}</span>
1302                 <span class="n">status1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qstatusbar</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1303                         <span class="n">showmessage</span><span class="p">(</span><span class="s">&quot;Ready!&quot;</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
1304                 <span class="p">}</span>
1305                 <span class="n">setmenubar</span><span class="p">(</span><span class="n">menu1</span><span class="p">)</span>
1306                 <span class="n">setmousetracking</span><span class="p">(</span><span class="kp">true</span><span class="p">)</span>
1307                 <span class="n">setstatusbar</span><span class="p">(</span><span class="n">status1</span><span class="p">)</span>
1308                 <span class="n">setStyleSheet</span><span class="p">(</span><span class="s">&quot;color: black; selection-color: black;</span>
1309                 <span class="n">selection</span><span class="o">-</span><span class="n">background</span><span class="o">-</span><span class="n">color</span><span class="p">:</span><span class="n">white</span> <span class="p">;</span>
1310                 <span class="n">background</span><span class="p">:</span> <span class="n">QLinearGradient</span><span class="p">(</span><span class="n">x1</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="n">y1</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="n">x2</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="n">y2</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
1311                 <span class="n">stop</span><span class="p">:</span> <span class="mi">0</span> <span class="c">#eef, stop: 1 #ccf);&quot;)</span>
1312                 <span class="n">showmaximized</span><span class="p">()</span>
1313         <span class="p">}</span>
1314         <span class="n">exec</span><span class="p">()</span>
1315 <span class="p">}</span>
1316 </pre></div>
1317 </div>
1318 <p>実行中のアプリケーション</p>
1319 <img alt="メニューバー" src="_images/ringqt_shot27.jpg" />
1320 </div>
1321 <div class="section" id="qlineedit-qmessagebox">
1322 <span id="index-29"></span><h2>QLineEdit イベントと QMessageBox<a class="headerlink" href="#qlineedit-qmessagebox" title="このヘッドラインへのパーマリンク">¶</a></h2>
1323 <p>QLineEdit イベントの用法、およびメッセージボックスの表示方法を学びます。</p>
1324 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1325
1326 <span class="n">MyApp</span> <span class="o">=</span> <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
1327
1328         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span> <span class="p">{</span>
1329
1330                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Welcome&quot;</span><span class="p">)</span>
1331                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">300</span><span class="p">)</span>
1332
1333
1334                 <span class="n">label1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qLabel</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1335                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;What is your name ?&quot;</span><span class="p">)</span>
1336                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">20</span><span class="p">,</span><span class="mi">350</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1337                         <span class="n">setalignment</span><span class="p">(</span><span class="n">Qt_AlignHCenter</span><span class="p">)</span>
1338                 <span class="p">}</span>
1339
1340                 <span class="n">btn1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1341                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1342                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Say Hello&quot;</span><span class="p">)</span>
1343                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pHello()&quot;</span><span class="p">)</span>
1344                 <span class="p">}</span>
1345
1346                 <span class="n">btn1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1347                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">150</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1348                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Close&quot;</span><span class="p">)</span>
1349                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pClose()&quot;</span><span class="p">)</span>
1350                 <span class="p">}</span>
1351
1352                 <span class="n">lineedit1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlineedit</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1353                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">350</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1354                         <span class="n">settextchangedevent</span><span class="p">(</span><span class="s">&quot;pChange()&quot;</span><span class="p">)</span>
1355                         <span class="n">setreturnpressedevent</span><span class="p">(</span><span class="s">&quot;penter()&quot;</span><span class="p">)</span>
1356                 <span class="p">}</span>
1357
1358                 <span class="n">show</span><span class="p">()</span>
1359         <span class="p">}</span>
1360
1361         <span class="n">exec</span><span class="p">()</span>
1362 <span class="p">}</span>
1363
1364 <span class="k">Func</span> <span class="n">pHello</span>
1365         <span class="n">lineedit1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span> <span class="s">&quot;Hello &quot;</span> <span class="o">+</span> <span class="n">lineedit1</span><span class="p">.</span><span class="n">text</span><span class="p">())</span>
1366
1367 <span class="k">Func</span> <span class="n">pClose</span>
1368         <span class="n">MyApp</span><span class="p">.</span><span class="n">quit</span><span class="p">()</span>
1369
1370 <span class="k">Func</span> <span class="n">pChange</span>
1371         <span class="n">win1</span> <span class="p">{</span> <span class="n">setwindowtitle</span><span class="p">(</span> <span class="n">lineedit1</span><span class="p">.</span><span class="n">text</span><span class="p">()</span> <span class="p">)</span> <span class="p">}</span>
1372
1373 <span class="k">Func</span> <span class="n">pEnter</span>
1374         <span class="k">new</span> <span class="n">qmessagebox</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1375                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Thanks&quot;</span><span class="p">)</span>
1376                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Hi &quot;</span> <span class="o">+</span> <span class="n">lineedit1</span><span class="p">.</span><span class="n">text</span><span class="p">()</span> <span class="p">)</span>
1377                 <span class="n">setstylesheet</span><span class="p">(</span><span class="s">&quot;background-color : white&quot;</span><span class="p">)</span>
1378                 <span class="n">show</span><span class="p">()</span>
1379         <span class="p">}</span>
1380 </pre></div>
1381 </div>
1382 <p>実行中のアプリケーション</p>
1383 <img alt="QLineEdit イベントと QMessageBox" src="_images/ringqt_shot28.jpg" />
1384 <img alt="QLineEdit イベントと QMessageBox" src="_images/ringqt_shot29.jpg" />
1385 </div>
1386 <div class="section" id="index-30">
1387 <span id="id9"></span><h2>そのほかのウイジェットイベント<a class="headerlink" href="#index-30" title="このヘッドラインへのパーマリンク">¶</a></h2>
1388 <p>各 Qt シグナルは RingQt で使えます。シグナル名の前に設定を行うことで追加、
1389 およびイベントのコードを決定するために使用できるメソッドを取得するためにシグナル名の後にイベントを追加します。</p>
1390 <p>例えば QProgressBar クラスにはシグナル名である valueChanged() があります。
1391 使用するには setValueChangedEvent() 関数を使用します。</p>
1392 <p>用例:</p>
1393 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1394
1395 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
1396         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
1397
1398                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;QProgressBar valueChanged Event&quot;</span><span class="p">)</span>
1399
1400                 <span class="n">progress1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qprogressbar</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1401                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">350</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1402                         <span class="n">setvalue</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
1403                         <span class="n">setvaluechangedevent</span><span class="p">(</span><span class="s">&quot;pChange()&quot;</span><span class="p">)</span>
1404                 <span class="p">}</span>
1405
1406                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1407                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1408                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;increase&quot;</span><span class="p">)</span>
1409                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pIncrease()&quot;</span><span class="p">)</span>
1410                 <span class="p">}</span>
1411
1412                 <span class="n">showMaximized</span><span class="p">()</span>
1413
1414         <span class="p">}</span>
1415
1416         <span class="n">exec</span><span class="p">()</span>
1417 <span class="p">}</span>
1418
1419 <span class="k">func</span> <span class="n">pIncrease</span>
1420         <span class="n">progress1</span> <span class="p">{</span> <span class="n">setvalue</span><span class="p">(</span><span class="n">value</span><span class="p">()</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span>  <span class="p">}</span>
1421
1422 <span class="k">func</span> <span class="n">pchange</span>
1423         <span class="n">win1</span><span class="p">.</span><span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;value : &quot;</span> <span class="o">+</span> <span class="n">progress1</span><span class="p">.</span><span class="n">value</span><span class="p">()</span> <span class="p">)</span>
1424 </pre></div>
1425 </div>
1426 <p>実行中のアプリケーション</p>
1427 <img alt="qProgressBar クラスの valueChanged イベント" src="_images/ringqt_shot30.jpg" />
1428 <p>別の用例は QCheckBox クラスの stateChanged イベントです。</p>
1429 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1430
1431 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
1432         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
1433                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;QCheckBox&quot;</span><span class="p">)</span>
1434                 <span class="k">new</span> <span class="n">qcheckbox</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1435                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1436                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;New Customer!&quot;</span><span class="p">)</span>
1437                         <span class="n">setstatechangedevent</span><span class="p">(</span><span class="s">&quot;pchange()&quot;</span><span class="p">)</span>
1438                 <span class="p">}</span>
1439                 <span class="n">showMaximized</span><span class="p">()</span>
1440         <span class="p">}</span>
1441         <span class="n">exec</span><span class="p">()</span>
1442 <span class="p">}</span>
1443
1444 <span class="k">Func</span> <span class="n">pChange</span>
1445
1446         <span class="k">new</span> <span class="n">qMessageBox</span><span class="p">(</span><span class="n">Win1</span><span class="p">)</span> <span class="p">{</span>
1447                 <span class="n">setWindowTitle</span><span class="p">(</span><span class="s">&quot;Checkbox&quot;</span><span class="p">)</span>
1448                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;State Changed!&quot;</span><span class="p">)</span>
1449                 <span class="n">show</span><span class="p">()</span>
1450         <span class="p">}</span>
1451 </pre></div>
1452 </div>
1453 <p>実行中のアプリケーション</p>
1454 <img alt="qProgressBar クラスの valueChanged イベント" src="_images/ringqt_shot31.jpg" />
1455 </div>
1456 <div class="section" id="qtimer">
1457 <span id="index-31"></span><h2>QTimer クラスの用法<a class="headerlink" href="#qtimer" title="このヘッドラインへのパーマリンク">¶</a></h2>
1458 <p>この用例では、 QTimer クラスを学びます。</p>
1459 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1460
1461 <span class="k">new</span> <span class="n">qApp</span> <span class="p">{</span>
1462         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwidget</span><span class="p">()</span> <span class="p">{</span>
1463                 <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">70</span><span class="p">)</span>
1464                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Timer&quot;</span><span class="p">)</span>
1465                 <span class="n">label1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlabel</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1466                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1467                         <span class="n">settext</span><span class="p">(</span><span class="n">thetime</span><span class="p">())</span>
1468                 <span class="p">}</span>
1469                 <span class="k">new</span> <span class="n">qtimer</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1470                         <span class="n">setinterval</span><span class="p">(</span><span class="mi">1000</span><span class="p">)</span>
1471                         <span class="n">settimeoutevent</span><span class="p">(</span><span class="s">&quot;pTime()&quot;</span><span class="p">)</span>
1472                         <span class="n">start</span><span class="p">()</span>
1473                 <span class="p">}</span>
1474                 <span class="n">show</span><span class="p">()</span>
1475         <span class="p">}</span>
1476         <span class="n">exec</span><span class="p">()</span>
1477 <span class="p">}</span>
1478
1479 <span class="k">func</span> <span class="n">ptime</span>
1480         <span class="n">label1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="n">thetime</span><span class="p">())</span>
1481
1482 <span class="k">Func</span> <span class="n">thetime</span>
1483         <span class="k">return</span> <span class="s">&quot;Time : &quot;</span> <span class="o">+</span> <span class="n">Time</span><span class="p">()</span>
1484 </pre></div>
1485 </div>
1486 <p>実行中のアプリケーション</p>
1487 <img alt="QTimer クラス" src="_images/ringqt_shot32.jpg" />
1488 </div>
1489 <div class="section" id="index-32">
1490 <span id="id10"></span><h2>QProgressBar およびタイマーの用法<a class="headerlink" href="#index-32" title="このヘッドラインへのパーマリンク">¶</a></h2>
1491 <p>この用例では、“アニメーション”つきの QProgressBar クラスとタイマーを学びます。</p>
1492 <div class="highlight-ring"><div class="highlight"><pre><span class="sd">###------------------------------------</span>
1493 <span class="sd">### プログレスバーとタイマーの用例</span>
1494
1495 <span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1496
1497 <span class="k">new</span> <span class="n">qApp</span>
1498 <span class="p">{</span>
1499     <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwidget</span><span class="p">()</span>
1500     <span class="p">{</span>
1501         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">100</span><span class="p">)</span>
1502         <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Timer and ProgressBar&quot;</span><span class="p">)</span>
1503
1504         <span class="n">LabelMan</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlabel</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
1505         <span class="p">{</span>
1506             <span class="n">setgeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1507             <span class="n">settext</span><span class="p">(</span><span class="n">theTime</span><span class="p">())</span>          <span class="sd">### ==&gt;&gt; 関数</span>
1508         <span class="p">}</span>
1509
1510         <span class="n">TimerMan</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qtimer</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
1511         <span class="p">{</span>
1512             <span class="n">setinterval</span><span class="p">(</span><span class="mi">1000</span><span class="p">)</span>
1513             <span class="n">settimeoutevent</span><span class="p">(</span><span class="s">&quot;pTime()&quot;</span><span class="p">)</span>  <span class="sd">### ==&gt;&gt; 関数</span>
1514             <span class="n">start</span><span class="p">()</span>
1515         <span class="p">}</span>
1516
1517         <span class="n">BarMan</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qprogressbar</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
1518         <span class="p">{</span>
1519             <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mi">300</span><span class="p">,</span><span class="mi">10</span><span class="p">)</span>  <span class="sd">###  X, Y 位置、長さ、チックネス</span>
1520             <span class="n">setvalue</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>                 <span class="sd">###  パーセントが塗りつぶされた</span>
1521         <span class="p">}</span>
1522
1523         <span class="n">show</span><span class="p">()</span>
1524     <span class="p">}</span>
1525     <span class="n">exec</span><span class="p">()</span>
1526 <span class="p">}</span>
1527
1528 <span class="k">func</span> <span class="n">pTime</span>
1529         <span class="n">LabelMan</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="n">theTime</span><span class="p">())</span>     <span class="sd">### ==&gt;&gt; 関数</span>
1530
1531         <span class="n">Increment</span> <span class="o">=</span> <span class="mi">10</span>
1532         <span class="k">if</span> <span class="n">BarMan</span><span class="p">.</span><span class="n">value</span><span class="p">()</span> <span class="o">&gt;=</span> <span class="mi">100</span>        <span class="sd">### プログレスバーの開始後.</span>
1533             <span class="n">BarMan</span><span class="p">.</span><span class="n">setvalue</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
1534         <span class="k">ok</span>
1535         <span class="n">BarMan</span><span class="p">{</span> <span class="n">setvalue</span><span class="p">(</span><span class="n">value</span><span class="p">()</span> <span class="o">+</span> <span class="n">Increment</span><span class="p">)</span> <span class="p">}</span>
1536
1537 <span class="k">Func</span> <span class="n">theTime</span>
1538         <span class="k">return</span> <span class="s">&quot;Time : &quot;</span> <span class="o">+</span> <span class="n">Time</span><span class="p">()</span>
1539 </pre></div>
1540 </div>
1541 <img alt="QProgressBar" src="_images/ringqt_shot15-B.jpg" />
1542 </div>
1543 <div class="section" id="index-33">
1544 <span id="id11"></span><h2>QLabel による寸法変更画像の表示方法<a class="headerlink" href="#index-33" title="このヘッドラインへのパーマリンク">¶</a></h2>
1545 <p>この例では QLabel ウィジェットで“アニメーションつき”の画像を表示して寸法を変更する方法を学びます。</p>
1546 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1547
1548 <span class="c">#----------------------------------------------------</span>
1549 <span class="c"># 必携: image = &quot;C:\RING\bin\stock.jpg&quot;</span>
1550
1551 <span class="c"># imageStock: 伸張する画像の開始寸法</span>
1552
1553 <span class="n">imageW</span> <span class="o">=</span> <span class="mi">200</span> <span class="p">;</span>  <span class="n">imageH</span> <span class="o">=</span> <span class="mi">200</span> <span class="p">;</span> <span class="n">GrowBy</span> <span class="o">=</span> <span class="mi">4</span>
1554
1555 <span class="sd">###----------------------------------------------------</span>
1556 <span class="sd">### ウィンドウと箱の大きさの寸法</span>
1557
1558 <span class="n">WinWidth</span> <span class="o">=</span> <span class="mi">1280</span> <span class="p">;</span> <span class="n">WinHeight</span> <span class="o">=</span> <span class="mi">960</span>
1559 <span class="n">BoxWidth</span> <span class="o">=</span> <span class="n">WinWidth</span> <span class="o">-</span><span class="mi">80</span> <span class="p">;</span> <span class="n">BoxHeight</span> <span class="o">=</span> <span class="n">WinHeight</span> <span class="o">-</span><span class="mi">80</span>
1560
1561 <span class="sd">###----------------------------------------------------</span>
1562
1563 <span class="k">New</span> <span class="n">qapp</span> <span class="p">{</span>
1564
1565         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwidget</span><span class="p">()</span> <span class="p">{</span>
1566
1567                 <span class="n">setgeometry</span><span class="p">(</span><span class="mi">50</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span> <span class="n">WinWidth</span><span class="p">,</span><span class="n">WinHeight</span><span class="p">)</span>
1568                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Animated Image - Display Image Scaled and Resized&quot;</span><span class="p">)</span>
1569
1570                 <span class="n">imageStock</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlabel</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1571
1572                         <span class="n">image</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpixmap</span><span class="p">(</span><span class="s">&quot;C:</span><span class="se">\R</span><span class="s">ING</span><span class="se">\b</span><span class="s">in\stock.jpg&quot;</span><span class="p">)</span>
1573                         <span class="n">AspectRatio</span> <span class="o">=</span> <span class="n">image</span><span class="p">.</span><span class="n">width</span><span class="p">()</span> <span class="o">/</span> <span class="n">image</span><span class="p">.</span><span class="n">height</span><span class="p">()</span>
1574
1575                         <span class="n">imageW</span> <span class="o">=</span> <span class="mi">200</span>
1576                         <span class="n">imageH</span> <span class="o">=</span> <span class="n">imageH</span> <span class="o">/</span> <span class="n">AspectRatio</span>
1577
1578                         <span class="sd">### 水平寸法、垂直寸法、アスペクト比、変形</span>
1579                         <span class="n">setpixmap</span><span class="p">(</span><span class="n">image</span><span class="p">.</span><span class="n">scaled</span><span class="p">(</span><span class="n">imageW</span> <span class="p">,</span> <span class="n">imageH</span> <span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">))</span>
1580
1581                         <span class="n">PosLeft</span> <span class="o">=</span> <span class="p">(</span><span class="n">BoxWidth</span>  <span class="o">-</span> <span class="n">imageW</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">2</span>
1582                         <span class="n">PosTop</span>  <span class="o">=</span> <span class="p">(</span><span class="n">BoxHeight</span> <span class="o">-</span> <span class="n">imageH</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">2</span>
1583                         <span class="n">setGeometry</span><span class="p">(</span><span class="n">PosLeft</span><span class="p">,</span><span class="n">PosTop</span><span class="p">,</span><span class="n">imageW</span><span class="p">,</span><span class="n">imageH</span><span class="p">)</span>
1584
1585                 <span class="p">}</span>
1586
1587                 <span class="n">TimerMan</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qtimer</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1588                         <span class="n">setinterval</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span>            <span class="sd">### 100 ミリ秒間隔です。</span>
1589                         <span class="n">settimeoutevent</span><span class="p">(</span><span class="s">&quot;pTime()&quot;</span><span class="p">)</span>  <span class="sd">### ==&gt;&gt; 関数</span>
1590                         <span class="n">start</span><span class="p">()</span>
1591                 <span class="p">}</span>
1592
1593                 <span class="n">show</span><span class="p">()</span>
1594         <span class="p">}</span>
1595 <span class="n">exec</span><span class="p">()</span>
1596 <span class="p">}</span>
1597
1598
1599 <span class="sd">###------------------------------------------------------</span>
1600 <span class="sd">### TimerMan 関数: 100 ミリ秒間隔で呼び出します。</span>
1601
1602 <span class="k">func</span> <span class="n">pTime</span>
1603
1604         <span class="sd">### 画像の大きさがウィンドウ領域に達したときにタイマーを停止します。</span>
1605         <span class="k">if</span> <span class="n">imageW</span> <span class="o">&gt;</span> <span class="n">BoxWidth</span>
1606                 <span class="n">TimerMan</span><span class="p">.</span><span class="n">stop</span><span class="p">()</span>
1607                 <span class="n">imageStock</span><span class="p">.</span><span class="n">clear</span><span class="p">()</span>      <span class="sd">### 画像の消去</span>
1608         <span class="k">ok</span>
1609
1610         <span class="sd">## 画像の伸張</span>
1611         <span class="n">imageW</span> <span class="o">+=</span> <span class="n">GrowBy</span>
1612         <span class="n">imageH</span>  <span class="o">=</span> <span class="n">imageW</span> <span class="o">/</span> <span class="n">AspectRatio</span>
1613
1614         <span class="sd">### 画像の寸法変更: 水平寸法、垂直寸法、アスペクト比、変形</span>
1615         <span class="n">imageStock</span><span class="p">.</span><span class="n">setpixmap</span><span class="p">(</span><span class="n">image</span><span class="p">.</span><span class="n">scaled</span><span class="p">(</span><span class="n">imageW</span> <span class="p">,</span> <span class="n">imageH</span> <span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">))</span>
1616
1617         <span class="sd">### 画像を中央へ</span>
1618         <span class="n">PosLeft</span> <span class="o">=</span> <span class="p">(</span><span class="n">WinWidth</span>  <span class="o">-</span> <span class="n">imageW</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">2</span>
1619         <span class="n">PosTop</span>  <span class="o">=</span> <span class="p">(</span><span class="n">WinHeight</span> <span class="o">-</span> <span class="n">imageH</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">2</span>
1620         <span class="n">imageStock</span><span class="p">.</span><span class="n">setGeometry</span><span class="p">(</span><span class="n">PosLeft</span><span class="p">,</span><span class="n">PosTop</span><span class="p">,</span><span class="n">imageW</span><span class="p">,</span><span class="n">imageH</span><span class="p">)</span>
1621 </pre></div>
1622 </div>
1623 </div>
1624 <div class="section" id="qfiledialog">
1625 <span id="index-34"></span><h2>QFileDialog クラスの用法<a class="headerlink" href="#qfiledialog" title="このヘッドラインへのパーマリンク">¶</a></h2>
1626 <p>用例:</p>
1627 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1628
1629 <span class="k">New</span> <span class="n">qapp</span> <span class="p">{</span>
1630         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwidget</span><span class="p">()</span> <span class="p">{</span>
1631                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;open file&quot;</span><span class="p">)</span>
1632                 <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
1633                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1634                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1635                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;open file&quot;</span><span class="p">)</span>
1636                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pOpen()&quot;</span><span class="p">)</span>
1637                 <span class="p">}</span>
1638                 <span class="n">show</span><span class="p">()</span>
1639         <span class="p">}</span>
1640         <span class="n">exec</span><span class="p">()</span>
1641 <span class="p">}</span>
1642
1643 <span class="k">Func</span> <span class="n">pOpen</span>
1644         <span class="k">new</span> <span class="n">qfiledialog</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1645                 <span class="n">cName</span> <span class="o">=</span> <span class="n">getopenfilename</span><span class="p">(</span><span class="n">win1</span><span class="p">,</span><span class="s">&quot;open file&quot;</span><span class="p">,</span><span class="s">&quot;c:</span><span class="se">\&quot;</span><span class="s">,&quot;</span><span class="n">source</span> <span class="n">files</span><span class="p">(</span><span class="o">*</span><span class="p">.</span><span class="n">ring</span><span class="p">)</span><span class="s">&quot;)</span>
1646                 <span class="n">win1</span><span class="p">.</span><span class="n">setwindowtitle</span><span class="p">(</span><span class="n">cName</span><span class="p">)</span>
1647         <span class="p">}</span>
1648 </pre></div>
1649 </div>
1650 <p>実行中のアプリケーション</p>
1651 <img alt="QFileDialog クラス" src="_images/ringqt_shot33.jpg" />
1652 </div>
1653 <div class="section" id="qpainter">
1654 <span id="index-35"></span><h2>QPainter による描画方法<a class="headerlink" href="#qpainter" title="このヘッドラインへのパーマリンク">¶</a></h2>
1655 <p>この用例では、 QPainter クラスによる描画方法を学びます。</p>
1656 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1657 <span class="k">New</span> <span class="n">qapp</span> <span class="p">{</span>
1658         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwidget</span><span class="p">()</span> <span class="p">{</span>
1659                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Drawing using QPainter&quot;</span><span class="p">)</span>
1660                 <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">500</span><span class="p">,</span><span class="mi">500</span><span class="p">)</span>
1661                 <span class="n">label1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlabel</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1662                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
1663                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">)</span>
1664                 <span class="p">}</span>
1665                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1666                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">200</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1667                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;draw&quot;</span><span class="p">)</span>
1668                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;draw()&quot;</span><span class="p">)</span>
1669                 <span class="p">}</span>
1670
1671                 <span class="n">show</span><span class="p">()</span>
1672         <span class="p">}</span>
1673         <span class="n">exec</span><span class="p">()</span>
1674 <span class="p">}</span>
1675
1676 <span class="k">Func</span> <span class="n">draw</span>
1677                 <span class="n">p1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpicture</span><span class="p">()</span>
1678                 <span class="n">color</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qcolor</span><span class="p">()</span> <span class="p">{</span>
1679                         <span class="n">setrgb</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">255</span><span class="p">,</span><span class="mi">255</span><span class="p">)</span>
1680                 <span class="p">}</span>
1681                 <span class="n">pen</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpen</span><span class="p">()</span> <span class="p">{</span>
1682                         <span class="n">setcolor</span><span class="p">(</span><span class="n">color</span><span class="p">)</span>
1683                         <span class="n">setwidth</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
1684                 <span class="p">}</span>
1685                 <span class="k">new</span> <span class="n">qpainter</span><span class="p">()</span> <span class="p">{</span>
1686                         <span class="n">begin</span><span class="p">(</span><span class="n">p1</span><span class="p">)</span>
1687                         <span class="n">setpen</span><span class="p">(</span><span class="n">pen</span><span class="p">)</span>
1688                         <span class="n">drawline</span><span class="p">(</span><span class="mi">500</span><span class="p">,</span><span class="mi">150</span><span class="p">,</span><span class="mi">950</span><span class="p">,</span><span class="mi">450</span><span class="p">)</span>
1689                         <span class="n">drawline</span><span class="p">(</span><span class="mi">950</span><span class="p">,</span><span class="mi">550</span><span class="p">,</span><span class="mi">500</span><span class="p">,</span><span class="mi">150</span><span class="p">)</span>
1690                         <span class="n">endpaint</span><span class="p">()</span>
1691                 <span class="p">}</span>
1692                 <span class="n">label1</span> <span class="p">{</span> <span class="n">setpicture</span><span class="p">(</span><span class="n">p1</span><span class="p">)</span> <span class="n">show</span><span class="p">()</span> <span class="p">}</span>
1693 </pre></div>
1694 </div>
1695 <p>実行中のアプリケーション</p>
1696 <img alt="QPainter クラス" src="_images/ringqt_shot34.jpg" />
1697 </div>
1698 <div class="section" id="qprinter">
1699 <span id="index-36"></span><h2>QPrinter による印刷方法<a class="headerlink" href="#qprinter" title="このヘッドラインへのパーマリンク">¶</a></h2>
1700 <p>この用例では、 QPrinter で PDF ファイルを印刷する方法を学びます。</p>
1701 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1702 <span class="k">new</span> <span class="n">qApp</span> <span class="p">{</span>
1703         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwidget</span><span class="p">()</span> <span class="p">{</span>
1704                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Printer&quot;</span><span class="p">)</span>
1705                 <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">500</span><span class="p">,</span><span class="mi">500</span><span class="p">)</span>
1706                 <span class="n">myweb</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwebview</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1707                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">1000</span><span class="p">,</span><span class="mi">500</span><span class="p">)</span>
1708                         <span class="n">loadpage</span><span class="p">(</span><span class="k">new</span> <span class="n">qurl</span><span class="p">(</span><span class="s">&quot;http://google.com&quot;</span><span class="p">))</span>
1709                 <span class="p">}</span>
1710                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1711                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">20</span><span class="p">,</span><span class="mi">20</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1712                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Print&quot;</span><span class="p">)</span>
1713                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;print()&quot;</span><span class="p">)</span>
1714                 <span class="p">}</span>
1715                 <span class="n">showmaximized</span><span class="p">()</span>
1716         <span class="p">}</span>
1717         <span class="n">exec</span><span class="p">()</span>
1718 <span class="p">}</span>
1719
1720 <span class="k">func</span> <span class="n">print</span>
1721         <span class="n">printer1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qPrinter</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
1722                 <span class="n">setoutputformat</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>      <span class="c"># 1 = pdf</span>
1723                 <span class="n">setoutputfilename</span><span class="p">(</span><span class="s">&quot;test.pdf&quot;</span><span class="p">)</span>
1724                 <span class="n">painter</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpainter</span><span class="p">()</span> <span class="p">{</span>
1725                         <span class="n">begin</span><span class="p">(</span><span class="n">printer1</span><span class="p">)</span>
1726                         <span class="n">myfont</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qfont</span><span class="p">(</span><span class="s">&quot;Times&quot;</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
1727                         <span class="n">setfont</span><span class="p">(</span><span class="n">myfont</span><span class="p">)</span>
1728                         <span class="n">drawtext</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="s">&quot;test&quot;</span><span class="p">)</span>
1729                         <span class="n">printer1</span><span class="p">.</span><span class="n">newpage</span><span class="p">()</span>
1730                         <span class="n">drawtext</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="s">&quot;test2&quot;</span><span class="p">)</span>
1731                         <span class="n">endpaint</span><span class="p">()</span>
1732                 <span class="p">}</span>
1733         <span class="p">}</span>
1734
1735         <span class="n">printer1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qPrinter</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
1736                 <span class="n">setoutputformat</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
1737                 <span class="n">setoutputfilename</span><span class="p">(</span><span class="s">&quot;test2.pdf&quot;</span><span class="p">)</span>
1738                 <span class="n">myweb</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">printer1</span><span class="p">)</span>
1739                 <span class="n">myweb</span><span class="p">.</span><span class="n">show</span><span class="p">()</span>
1740         <span class="p">}</span>
1741
1742         <span class="n">system</span> <span class="p">(</span><span class="s">&quot;test.pdf&quot;</span><span class="p">)</span>
1743         <span class="n">system</span> <span class="p">(</span><span class="s">&quot;test2.pdf&quot;</span><span class="p">)</span>
1744 </pre></div>
1745 </div>
1746 </div>
1747 <div class="section" id="qprintpreviewdialog">
1748 <span id="index-37"></span><h2>QPrintPreviewDialog の用法<a class="headerlink" href="#qprintpreviewdialog" title="このヘッドラインへのパーマリンク">¶</a></h2>
1749 <p>この用例では、 QPrintPreviewDialog クラスの用法を学びます。</p>
1750 <p>用例:</p>
1751 <div class="highlight-ring"><div class="highlight"><pre><span class="k">load</span> <span class="s">&quot;guilib.ring&quot;</span>
1752
1753 <span class="k">new</span> <span class="n">qApp</span> <span class="p">{</span>
1754         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwidget</span><span class="p">()</span> <span class="p">{</span>
1755                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Printer Preview Dialog&quot;</span><span class="p">)</span>
1756                 <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">800</span><span class="p">,</span><span class="mi">880</span><span class="p">)</span>
1757                 <span class="n">printer1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qPrinter</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
1758                 <span class="n">show</span><span class="p">()</span>
1759                 <span class="n">oPreview</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qPrintPreviewDialog</span><span class="p">(</span><span class="n">printer1</span><span class="p">)</span> <span class="p">{</span>
1760                         <span class="n">setParent</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
1761                         <span class="n">move</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">)</span>
1762                         <span class="n">setPaintrequestedevent</span><span class="p">(</span><span class="s">&quot;printPreview()&quot;</span><span class="p">)</span>
1763                         <span class="n">exec</span><span class="p">()</span>
1764                 <span class="p">}</span>
1765         <span class="p">}</span>
1766         <span class="n">exec</span><span class="p">()</span>
1767 <span class="p">}</span>
1768
1769 <span class="k">func</span> <span class="n">printPreview</span>
1770         <span class="n">printer1</span>  <span class="p">{</span>
1771                 <span class="n">painter</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpainter</span><span class="p">()</span> <span class="p">{</span>
1772                         <span class="n">begin</span><span class="p">(</span><span class="n">printer1</span><span class="p">)</span>
1773                         <span class="n">myfont</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qfont</span><span class="p">(</span><span class="s">&quot;Times&quot;</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
1774                         <span class="n">setfont</span><span class="p">(</span><span class="n">myfont</span><span class="p">)</span>
1775                         <span class="n">drawtext</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="s">&quot;Test - Page (1)&quot;</span><span class="p">)</span>
1776                         <span class="n">printer1</span><span class="p">.</span><span class="n">newpage</span><span class="p">()</span>
1777                         <span class="n">drawtext</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="s">&quot;Test - Page (2)&quot;</span><span class="p">)</span>
1778                         <span class="n">printer1</span><span class="p">.</span><span class="n">newpage</span><span class="p">()</span>
1779                         <span class="n">myfont2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qfont</span><span class="p">(</span><span class="s">&quot;Times&quot;</span><span class="p">,</span><span class="mi">14</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
1780                         <span class="n">setfont</span><span class="p">(</span><span class="n">myfont2</span><span class="p">)</span>
1781                         <span class="k">for</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">1</span> <span class="k">to</span> <span class="mi">30</span>
1782                                 <span class="n">drawtext</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="o">+</span><span class="p">(</span><span class="mi">20</span><span class="o">*</span><span class="n">x</span><span class="p">),</span><span class="s">&quot;Number : &quot;</span> <span class="o">+</span> <span class="n">x</span><span class="p">)</span>
1783                         <span class="k">next</span>
1784                         <span class="n">endpaint</span><span class="p">()</span>
1785                 <span class="p">}</span>
1786         <span class="p">}</span>
1787 </pre></div>
1788 </div>
1789 <p>スクリーンショット:</p>
1790 <img alt="印刷プレビューのダイアログ" src="_images/printpreviewdialog.png" />
1791 </div>
1792 <div class="section" id="index-38">
1793 <span id="id12"></span><h2>複数ウィンドウの作成方法<a class="headerlink" href="#index-38" title="このヘッドラインへのパーマリンク">¶</a></h2>
1794 <p>この用例は、複数ウィンドウの作成をするためのデモです。</p>
1795 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1796 <span class="n">app1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qapp</span> <span class="p">{</span>
1797         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwidget</span><span class="p">()</span> <span class="p">{</span>
1798                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;First&quot;</span><span class="p">)</span>
1799                 <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">500</span><span class="p">,</span><span class="mi">500</span><span class="p">)</span>
1800
1801                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1802                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1803                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;close&quot;</span><span class="p">)</span>
1804                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;app1.quit()&quot;</span><span class="p">)</span>
1805                 <span class="p">}</span>
1806
1807                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1808                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">250</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1809                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Second&quot;</span><span class="p">)</span>
1810                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;second()&quot;</span><span class="p">)</span>
1811                 <span class="p">}</span>
1812
1813                 <span class="n">showmaximized</span><span class="p">()</span>
1814         <span class="p">}</span>
1815         <span class="n">exec</span><span class="p">()</span>
1816 <span class="p">}</span>
1817
1818 <span class="k">func</span> <span class="n">second</span>
1819         <span class="n">win2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwidget</span><span class="p">()</span> <span class="p">{</span>
1820                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Second&quot;</span><span class="p">)</span>
1821                 <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">500</span><span class="p">,</span><span class="mi">500</span><span class="p">)</span>
1822                 <span class="n">setwindowflags</span><span class="p">(</span><span class="n">Qt_dialog</span><span class="p">)</span>
1823                 <span class="n">show</span><span class="p">()</span>
1824         <span class="p">}</span>
1825 </pre></div>
1826 </div>
1827 <p>実行中のアプリケーション</p>
1828 <img alt="複数ウィンドウの作成方法" src="_images/ringqt_shot35.jpg" />
1829 </div>
1830 <div class="section" id="index-39">
1831 <span id="id13"></span><h2>音声の再生<a class="headerlink" href="#index-39" title="このヘッドラインへのパーマリンク">¶</a></h2>
1832 <p>用例:</p>
1833 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1834 <span class="k">new</span> <span class="n">qapp</span> <span class="p">{</span>
1835         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwidget</span><span class="p">()</span> <span class="p">{</span>
1836                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;play sound!&quot;</span><span class="p">)</span> <span class="n">show</span><span class="p">()</span>
1837         <span class="p">}</span>
1838         <span class="k">new</span> <span class="n">qmediaplayer</span><span class="p">()</span>      <span class="p">{</span>
1839                 <span class="n">setmedia</span><span class="p">(</span><span class="k">new</span> <span class="n">qurl</span><span class="p">(</span><span class="s">&quot;footstep.wav&quot;</span><span class="p">))</span>
1840                 <span class="n">setvolume</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span> <span class="n">play</span><span class="p">()</span>
1841         <span class="p">}</span>
1842         <span class="n">exec</span><span class="p">()</span>
1843 <span class="p">}</span>
1844 </pre></div>
1845 </div>
1846 </div>
1847 <div class="section" id="qcolordialog">
1848 <span id="index-40"></span><h2>QColorDialog クラスの用法<a class="headerlink" href="#qcolordialog" title="このヘッドラインへのパーマリンク">¶</a></h2>
1849 <p>用例:</p>
1850 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1851
1852 <span class="n">oApp</span> <span class="o">=</span> <span class="k">new</span> <span class="n">myapp</span> <span class="p">{</span> <span class="n">start</span><span class="p">()</span> <span class="p">}</span>
1853
1854 <span class="k">Class</span> <span class="n">MyApp</span>
1855
1856         <span class="n">oColor</span>  <span class="n">win1</span>
1857
1858         <span class="k">Func</span> <span class="n">start</span>
1859
1860                 <span class="n">myapp</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qapp</span>
1861
1862                 <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
1863                         <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Color Dialog&quot;</span><span class="p">)</span>
1864                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
1865                 <span class="p">}</span>
1866
1867                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
1868                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
1869                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Get Color&quot;</span><span class="p">)</span>
1870                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;oApp.pColor()&quot;</span><span class="p">)</span>
1871                 <span class="p">}</span>
1872
1873                 <span class="n">win1</span><span class="p">.</span><span class="n">show</span><span class="p">()</span>
1874                 <span class="n">myapp</span><span class="p">.</span><span class="n">exec</span><span class="p">()</span>
1875
1876
1877         <span class="k">Func</span> <span class="n">pColor</span>
1878                 <span class="n">myobj</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qcolordialog</span><span class="p">()</span>
1879                 <span class="n">aColor</span> <span class="o">=</span> <span class="n">myobj</span><span class="p">.</span><span class="n">GetColor</span><span class="p">()</span>
1880                 <span class="n">r</span><span class="o">=</span><span class="n">acolor</span><span class="o">[</span><span class="mi">1</span><span class="o">]</span> <span class="n">g</span><span class="o">=</span><span class="n">acolor</span><span class="o">[</span><span class="mi">2</span><span class="o">]</span> <span class="n">b</span><span class="o">=</span><span class="n">acolor</span><span class="o">[</span><span class="mi">3</span><span class="o">]</span>
1881                 <span class="n">win1</span><span class="p">.</span><span class="n">setstylesheet</span><span class="p">(</span><span class="s">&quot;background-color: rgb(&quot;</span><span class="o">+</span><span class="n">r</span><span class="o">+</span><span class="s">&quot;, &quot;</span> <span class="o">+</span> <span class="n">g</span><span class="o">+</span> <span class="s">&quot;,&quot;</span> <span class="o">+</span> <span class="n">b</span> <span class="o">+</span> <span class="s">&quot;)&quot;</span><span class="p">)</span>
1882 </pre></div>
1883 </div>
1884 <p>実行中のアプリケーション</p>
1885 <img alt="QColorDialog クラス" src="_images/ringqt_shot37.jpg" />
1886 </div>
1887 <div class="section" id="qlcdnumber">
1888 <span id="index-41"></span><h2>qLCDNumber クラスの用法<a class="headerlink" href="#qlcdnumber" title="このヘッドラインへのパーマリンク">¶</a></h2>
1889 <p>この用例では、 qLCDNumber クラスを学びます。</p>
1890 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1891
1892 <span class="k">New</span> <span class="n">qApp</span>
1893 <span class="p">{</span>
1894         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span>
1895         <span class="p">{</span>
1896                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;LCD Number&quot;</span><span class="p">)</span>
1897                 <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">250</span><span class="p">,</span><span class="mi">120</span><span class="p">)</span>
1898
1899                 <span class="k">new</span> <span class="n">qLCDNumber</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
1900                 <span class="p">{</span>
1901                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">40</span><span class="p">)</span>
1902                         <span class="n">display</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span>
1903
1904                 <span class="p">}</span>
1905
1906                 <span class="k">new</span> <span class="n">qLCDNumber</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
1907                 <span class="p">{</span>
1908                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">60</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">40</span><span class="p">)</span>
1909                         <span class="n">display</span><span class="p">(</span><span class="mi">80</span><span class="p">)</span>
1910
1911                 <span class="p">}</span>
1912
1913                 <span class="n">show</span><span class="p">()</span>
1914         <span class="p">}</span>
1915
1916         <span class="n">exec</span><span class="p">()</span>
1917 <span class="p">}</span>
1918 </pre></div>
1919 </div>
1920 <p>実行中のアプリケーション</p>
1921 <img alt="QLCDNumber クラス" src="_images/ringqt_shot38.jpg" />
1922 </div>
1923 <div class="section" id="index-42">
1924 <span id="id14"></span><h2>移動可能ラベルの用例<a class="headerlink" href="#index-42" title="このヘッドラインへのパーマリンク">¶</a></h2>
1925 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1926
1927 <span class="k">new</span> <span class="n">qApp</span> <span class="p">{</span>
1928
1929         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span>
1930         <span class="p">{</span>
1931
1932                 <span class="n">label1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qLabel</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
1933                 <span class="p">{</span>
1934                         <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Welcome&quot;</span><span class="p">)</span>
1935                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">50</span><span class="p">)</span>
1936                         <span class="n">setstylesheet</span><span class="p">(</span><span class="s">&quot;color: purple ; font-size: 30pt;&quot;</span><span class="p">)</span>
1937                 <span class="p">}</span>
1938
1939                 <span class="k">new</span> <span class="n">qTimer</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
1940                 <span class="p">{</span>
1941                         <span class="n">setInterVal</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
1942                         <span class="n">setTimeOutEvent</span><span class="p">(</span><span class="s">&quot;pMove()&quot;</span><span class="p">)</span>
1943                         <span class="n">start</span><span class="p">()</span>
1944                 <span class="p">}</span>
1945
1946                 <span class="n">setWindowTitle</span><span class="p">(</span><span class="s">&quot;Movable Label&quot;</span><span class="p">)</span>
1947                 <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">600</span><span class="p">,</span><span class="mi">80</span><span class="p">)</span>
1948                 <span class="n">setStyleSheet</span><span class="p">(</span><span class="s">&quot;background-color: white;&quot;</span><span class="p">)</span>
1949                 <span class="n">show</span><span class="p">()</span>
1950
1951         <span class="p">}</span>
1952
1953         <span class="n">exec</span><span class="p">()</span>
1954 <span class="p">}</span>
1955
1956 <span class="k">Func</span> <span class="n">pMove</span>
1957         <span class="n">label1</span>
1958         <span class="p">{</span>
1959                 <span class="n">move</span><span class="p">(</span><span class="n">x</span><span class="p">()</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span><span class="n">y</span><span class="p">())</span>
1960                 <span class="k">if</span> <span class="n">x</span><span class="p">()</span> <span class="o">&gt;</span> <span class="mi">600</span>
1961                         <span class="n">move</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="n">y</span><span class="p">())</span>
1962                 <span class="k">ok</span>
1963         <span class="p">}</span>
1964 </pre></div>
1965 </div>
1966 <p>実行中のアプリケーション</p>
1967 <img alt="移動可能ラベル" src="_images/ringqt_shot39.jpg" />
1968 </div>
1969 <div class="section" id="qmessagebox">
1970 <span id="index-43"></span><h2>QMessagebox の用例<a class="headerlink" href="#qmessagebox" title="このヘッドラインへのパーマリンク">¶</a></h2>
1971 <p>メッセージ・ボックスの出力を確認する方法を学びます。</p>
1972 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
1973
1974 <span class="k">new</span> <span class="n">qApp</span> <span class="p">{</span>
1975         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span>
1976         <span class="p">{</span>
1977                 <span class="n">label1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
1978                 <span class="p">{</span>
1979                         <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Test&quot;</span><span class="p">)</span>
1980                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">50</span><span class="p">)</span>
1981                         <span class="n">setstylesheet</span><span class="p">(</span><span class="s">&quot;color: purple ; font-size: 30pt;&quot;</span><span class="p">)</span>
1982                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pWork()&quot;</span><span class="p">)</span>
1983                 <span class="p">}</span>
1984                 <span class="n">setWindowTitle</span><span class="p">(</span><span class="s">&quot;Messagebox&quot;</span><span class="p">)</span>
1985                 <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">600</span><span class="p">,</span><span class="mi">80</span><span class="p">)</span>
1986                 <span class="n">setStyleSheet</span><span class="p">(</span><span class="s">&quot;background-color: white;&quot;</span><span class="p">)</span>
1987                 <span class="n">show</span><span class="p">()</span>
1988         <span class="p">}</span>
1989         <span class="n">exec</span><span class="p">()</span>
1990 <span class="p">}</span>
1991
1992 <span class="k">func</span> <span class="n">pWork</span>
1993         <span class="k">new</span> <span class="n">qmessagebox</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
1994         <span class="p">{</span>
1995                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;messagebox title&quot;</span><span class="p">)</span>
1996                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;messagebox text&quot;</span><span class="p">)</span>
1997                 <span class="n">setInformativeText</span><span class="p">(</span><span class="s">&quot;Do you want to save your changes?&quot;</span><span class="p">)</span>
1998                 <span class="n">setstandardbuttons</span><span class="p">(</span><span class="n">QMessageBox_Yes</span> <span class="o">|</span> <span class="n">QMessageBox_No</span> <span class="o">|</span> <span class="n">QMessageBox_Close</span><span class="p">)</span>
1999                 <span class="n">result</span> <span class="o">=</span> <span class="n">exec</span><span class="p">()</span>
2000                 <span class="n">win1</span> <span class="p">{</span>
2001                         <span class="k">if</span> <span class="n">result</span> <span class="o">=</span> <span class="n">QMessageBox_Yes</span>
2002                                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Yes&quot;</span><span class="p">)</span>
2003                         <span class="k">but</span> <span class="n">result</span> <span class="o">=</span> <span class="n">QMessageBox_No</span>
2004                                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;No&quot;</span><span class="p">)</span>
2005                         <span class="k">but</span> <span class="n">result</span> <span class="o">=</span> <span class="n">QMessageBox_Close</span>
2006                                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Close&quot;</span><span class="p">)</span>
2007                         <span class="k">ok</span>
2008                 <span class="p">}</span>
2009         <span class="p">}</span>
2010 </pre></div>
2011 </div>
2012 <p>実行中のアプリケーション</p>
2013 <img alt="QMessageBox の実行結果" src="_images/ringqt_shot40.jpg" />
2014 </div>
2015 <div class="section" id="qinputdialog">
2016 <span id="index-44"></span><h2>QInputDialog クラスの用法<a class="headerlink" href="#qinputdialog" title="このヘッドラインへのパーマリンク">¶</a></h2>
2017 <p>この用例では、 QInputDialog クラスの用法を学びます。</p>
2018 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
2019
2020 <span class="k">New</span> <span class="n">QApp</span> <span class="p">{</span>
2021
2022         <span class="n">Win1</span> <span class="o">=</span> <span class="k">New</span> <span class="n">QWidget</span> <span class="p">()</span> <span class="p">{</span>
2023
2024                 <span class="n">SetGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
2025                 <span class="n">SetWindowTitle</span><span class="p">(</span><span class="s">&quot;Input Dialog&quot;</span><span class="p">)</span>
2026
2027                 <span class="k">New</span> <span class="n">QPushButton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
2028                 <span class="p">{</span>
2029
2030                         <span class="n">SetText</span> <span class="p">(</span><span class="s">&quot;Input Dialog&quot;</span><span class="p">)</span>
2031                         <span class="n">SetGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
2032                         <span class="n">SetClickEvent</span><span class="p">(</span><span class="s">&quot;pWork()&quot;</span><span class="p">)</span>
2033                 <span class="p">}</span>
2034
2035                 <span class="n">Show</span><span class="p">()</span>
2036         <span class="p">}</span>
2037
2038         <span class="n">exec</span><span class="p">()</span>
2039 <span class="p">}</span>
2040
2041 <span class="k">Func</span> <span class="n">pWork</span>
2042         <span class="n">oInput</span> <span class="o">=</span> <span class="k">New</span> <span class="n">QInputDialog</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
2043         <span class="p">{</span>
2044                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;What is your name?&quot;</span><span class="p">)</span>
2045                 <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">50</span><span class="p">)</span>
2046                 <span class="n">setlabeltext</span><span class="p">(</span><span class="s">&quot;User Name&quot;</span><span class="p">)</span>
2047                 <span class="n">settextvalue</span><span class="p">(</span><span class="s">&quot;Mahmoud&quot;</span><span class="p">)</span>
2048                 <span class="n">lcheck</span> <span class="o">=</span> <span class="n">exec</span><span class="p">()</span>
2049                 <span class="k">if</span> <span class="n">lCheck</span> <span class="n">win1</span><span class="p">.</span><span class="n">setwindowtitle</span><span class="p">(</span><span class="n">oInput</span><span class="p">.</span><span class="n">textvalue</span><span class="p">())</span> <span class="k">ok</span>
2050         <span class="p">}</span>
2051 </pre></div>
2052 </div>
2053 <p>実行中のアプリケーション</p>
2054 <img alt="QInputDialog" src="_images/ringqt_shot41.jpg" />
2055 </div>
2056 <div class="section" id="index-45">
2057 <span id="id15"></span><h2>ダイアログ関数<a class="headerlink" href="#index-45" title="このヘッドラインへのパーマリンク">¶</a></h2>
2058 <p>この関数があります。</p>
2059 <div class="highlight-none"><div class="highlight"><pre>SetDialogIcon(cIconFile)
2060 MsgInfo(cTitle,cMessage)
2061 ConfirmMsg(cTitle,cMessage) --&gt; lResult
2062 InputBox(cTitle,cMessage) --&gt; cValue
2063 InputBoxInt(cTitle,cMessage) --&gt; nValue
2064 InputBoxNum(cTitle,cMessage) --&gt; nValue
2065 InputBoxPass(cTitle,cMessage) --&gt; cValue
2066 </pre></div>
2067 </div>
2068 <p>用例</p>
2069 <div class="highlight-ring"><div class="highlight"><pre><span class="k">load</span> <span class="s">&quot;guilib.ring&quot;</span>
2070
2071 <span class="k">new</span> <span class="n">qApp</span>
2072 <span class="p">{</span>
2073         <span class="n">SetDialogIcon</span><span class="p">(</span><span class="s">&quot;notepad.png&quot;</span><span class="p">)</span>
2074         <span class="n">msginfo</span><span class="p">(:</span><span class="n">Ring</span><span class="p">,:</span><span class="n">Welcome</span><span class="p">)</span>
2075         <span class="k">see</span> <span class="n">confirmMsg</span><span class="p">(:</span><span class="n">Ring</span><span class="p">,</span><span class="s">&quot;Are you sure?&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
2076         <span class="k">see</span> <span class="n">InputBoxNum</span><span class="p">(:</span><span class="n">Ring</span><span class="p">,</span><span class="s">&quot;Enter Number(double) :&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
2077         <span class="k">see</span> <span class="n">InputBox</span><span class="p">(:</span><span class="n">Ring</span><span class="p">,</span><span class="s">&quot;Enter Value :&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
2078         <span class="k">see</span> <span class="n">InputBoxInt</span><span class="p">(:</span><span class="n">Ring</span><span class="p">,</span><span class="s">&quot;Enter Number(int)&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
2079         <span class="k">see</span> <span class="n">InputBoxPass</span><span class="p">(:</span><span class="n">Ring</span><span class="p">,</span><span class="s">&quot;Enter Password&quot;</span><span class="p">)</span> <span class="o">+</span><span class="n">nl</span>
2080 <span class="p">}</span>
2081 </pre></div>
2082 </div>
2083 </div>
2084 <div class="section" id="index-46">
2085 <span id="id16"></span><h2>キー入力とマウス移動イベント<a class="headerlink" href="#index-46" title="このヘッドラインへのパーマリンク">¶</a></h2>
2086 <p>この用例では、イベントフィルタによりキー入力と
2087 マウスの移動イベントを検知するための方法を学びます。</p>
2088 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
2089
2090 <span class="k">new</span> <span class="n">qApp</span> <span class="p">{</span>
2091
2092         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span>
2093         <span class="p">{</span>
2094                 <span class="n">setWindowTitle</span><span class="p">(</span><span class="s">&quot;Test using Event Filter!&quot;</span><span class="p">)</span>
2095                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
2096                 <span class="n">setmousetracking</span><span class="p">(</span><span class="kp">true</span><span class="p">)</span>
2097                 <span class="n">myfilter</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qallevents</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
2098                 <span class="n">myfilter</span><span class="p">.</span><span class="n">setKeyPressEvent</span><span class="p">(</span><span class="s">&quot;pWork()&quot;</span><span class="p">)</span>
2099                 <span class="n">myfilter</span><span class="p">.</span><span class="n">setMouseButtonPressevent</span><span class="p">(</span><span class="s">&quot;pClick()&quot;</span><span class="p">)</span>
2100                 <span class="n">myfilter</span><span class="p">.</span><span class="n">setmousemoveevent</span><span class="p">(</span><span class="s">&quot;pMove()&quot;</span><span class="p">)</span>
2101
2102                 <span class="n">installeventfilter</span><span class="p">(</span><span class="n">myfilter</span><span class="p">)</span>
2103
2104                 <span class="n">show</span><span class="p">()</span>
2105         <span class="p">}</span>
2106
2107         <span class="n">exec</span><span class="p">()</span>
2108 <span class="p">}</span>
2109
2110 <span class="k">func</span> <span class="n">pWork</span>
2111         <span class="n">win1</span><span class="p">.</span><span class="n">setwindowtitle</span><span class="p">(</span><span class="sc">&#39;KeyPress! : &#39;</span> <span class="o">+</span> <span class="n">myfilter</span><span class="p">.</span><span class="n">getkeycode</span><span class="p">())</span>
2112
2113 <span class="k">func</span> <span class="n">pClick</span>
2114         <span class="k">new</span> <span class="n">qmessagebox</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2115                 <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">100</span><span class="p">)</span>
2116                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;click event!&quot;</span><span class="p">)</span>
2117                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;x : &quot;</span> <span class="o">+</span> <span class="n">myfilter</span><span class="p">.</span><span class="n">getx</span><span class="p">()</span> <span class="o">+</span>
2118                         <span class="s">&quot; y : &quot;</span> <span class="o">+</span> <span class="n">myfilter</span><span class="p">.</span><span class="n">gety</span><span class="p">()</span> <span class="o">+</span> <span class="s">&quot; button : &quot;</span> <span class="o">+</span>
2119                          <span class="n">myfilter</span><span class="p">.</span><span class="n">getbutton</span><span class="p">()</span> <span class="p">)</span>
2120                 <span class="n">show</span><span class="p">()</span>
2121         <span class="p">}</span>
2122
2123 <span class="k">func</span> <span class="n">pMove</span>
2124         <span class="n">win1</span><span class="p">.</span><span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Mouse Move , X : &quot;</span> <span class="o">+</span> <span class="n">myfilter</span><span class="p">.</span><span class="n">getx</span><span class="p">()</span> <span class="o">+</span>
2125                             <span class="s">&quot; Y : &quot;</span> <span class="o">+</span> <span class="n">myfilter</span><span class="p">.</span><span class="n">gety</span><span class="p">()</span> <span class="p">)</span>
2126 </pre></div>
2127 </div>
2128 <p>実行中のアプリケーション</p>
2129 <img alt="キー入力とマウス移動イベント" src="_images/ringqt_shot42.jpg" />
2130 </div>
2131 <div class="section" id="index-47">
2132 <span id="id17"></span><h2>マウスによるオブジェクトの移動方法<a class="headerlink" href="#index-47" title="このヘッドラインへのパーマリンク">¶</a></h2>
2133 <p>ユーザがラベルを移動できる移動可能なオブジェクトをプログラムする方法を学びます。</p>
2134 <div class="highlight-ring"><div class="highlight"><pre>Load &quot;guilib.ring&quot;
2135
2136 lPress = false
2137 nX = 0
2138 nY = 0
2139
2140 new qApp {
2141
2142         win1 = new qWidget()
2143         {
2144
2145                 setWindowTitle(&quot;Move this label!&quot;)
2146                 setGeometry(100,100,400,400)
2147                 setstylesheet(&quot;background-color:white;&quot;)
2148
2149                 Label1 = new qLabel(Win1){
2150                         setGeometry(100,100,200,50)
2151                         setText(&quot;Welcome&quot;)
2152                         setstylesheet(&quot;font-size: 30pt&quot;)
2153                         myfilter = new qallevents(label1)
2154                         myfilter.setEnterevent(&quot;pEnter()&quot;)
2155                         myfilter.setLeaveevent(&quot;pLeave()&quot;)
2156                         myfilter.setMouseButtonPressEvent(&quot;pPress()&quot;)
2157                         myfilter.setMouseButtonReleaseEvent(&quot;pRelease()&quot;)
2158                         myfilter.setMouseMoveEvent(&quot;pMove()&quot;)
2159                         installeventfilter(myfilter)
2160                 }
2161
2162                 show()
2163         }
2164
2165         exec()
2166 }
2167
2168 Func pEnter
2169         Label1.setStyleSheet(&quot;background-color: purple; color:white;font-size: 30pt;&quot;)
2170
2171 Func pLeave
2172         Label1.setStyleSheet(&quot;background-color: white; color:black;font-size: 30pt;&quot;)
2173
2174 Func pPress
2175         lPress = True
2176         nX = myfilter.getglobalx()
2177         ny = myfilter.getglobaly()
2178
2179 Func pRelease
2180         lPress = False
2181         pEnter()
2182
2183 Func pMove
2184         nX2 = myfilter.getglobalx()
2185         ny2 = myfilter.getglobaly()
2186         ndiffx = nX2 - nX
2187         ndiffy = nY2 - nY
2188         if lPress
2189                 Label1 {
2190                         move(x()+ndiffx,y()+ndiffy)
2191                         setStyleSheet(&quot;background-color: Green;
2192                                  color:white;font-size: 30pt;&quot;)
2193                         nX = nX2
2194                         ny = nY2
2195                 }
2196
2197         ok
2198 </pre></div>
2199 </div>
2200 <p>実行中のアプリケーション</p>
2201 <img alt="マウスで移動できるオブジェクト" src="_images/ringqt_shot43.jpg" />
2202 <img alt="マウスで移動できるオブジェクト" src="_images/ringqt_shot44.jpg" />
2203 <img alt="マウスをで移動できるオブジェクト" src="_images/ringqt_shot45.jpg" />
2204 </div>
2205 <div class="section" id="index-48">
2206 <span id="id18"></span><h2>GUI クラスからの継承<a class="headerlink" href="#index-48" title="このヘッドラインへのパーマリンク">¶</a></h2>
2207 <p>用例:</p>
2208 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
2209
2210 <span class="k">New</span> <span class="n">MyWindow</span><span class="p">()</span>
2211
2212 <span class="k">new</span> <span class="n">qApp</span> <span class="p">{</span> <span class="n">exec</span><span class="p">()</span> <span class="p">}</span>
2213
2214 <span class="k">class</span> <span class="n">mywindow</span> <span class="k">from</span> <span class="n">qwidget</span>
2215         <span class="k">Func</span> <span class="n">init</span>
2216                 <span class="n">super</span><span class="p">.</span><span class="n">init</span><span class="p">()</span>
2217                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;First Window&quot;</span><span class="p">)</span>
2218                 <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
2219                 <span class="n">setstylesheet</span><span class="p">(</span><span class="s">&quot;background-color: purple;&quot;</span><span class="p">)</span>
2220                 <span class="n">settooltip</span><span class="p">(</span><span class="s">&quot;my first window!&quot;</span><span class="p">)</span>
2221                 <span class="n">show</span><span class="p">()</span>
2222 </pre></div>
2223 </div>
2224 <p>実行中のアプリケーション</p>
2225 <img alt="GUI クラスからの継承" src="_images/ringqt_shot46.jpg" />
2226 </div>
2227 <div class="section" id="qdesktopwidget">
2228 <span id="index-49"></span><h2>QDesktopWidget クラスの用法<a class="headerlink" href="#qdesktopwidget" title="このヘッドラインへのパーマリンク">¶</a></h2>
2229 <p>この用例では、 QDesktopWidget の用法を学びます。</p>
2230 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
2231
2232 <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
2233         <span class="n">win1</span> <span class="o">=</span> <span class="k">New</span> <span class="n">qWidget</span><span class="p">()</span>
2234         <span class="p">{</span>
2235                 <span class="n">resize</span><span class="p">(</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
2236                 <span class="n">btn1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qPushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
2237                 <span class="p">{</span>
2238                         <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Center&quot;</span><span class="p">)</span>
2239                         <span class="n">move</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">)</span>
2240                         <span class="n">resize</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
2241                         <span class="n">setClickEvent</span><span class="p">(</span><span class="s">&quot;pCenter()&quot;</span><span class="p">)</span>
2242                 <span class="p">}</span>
2243
2244                 <span class="n">Show</span><span class="p">()</span>
2245         <span class="p">}</span>
2246
2247         <span class="n">exec</span><span class="p">()</span>
2248 <span class="p">}</span>
2249
2250 <span class="k">Func</span> <span class="n">pCenter</span>
2251         <span class="n">oDesktop</span>  <span class="o">=</span> <span class="k">new</span> <span class="n">qDesktopWidget</span><span class="p">()</span>
2252         <span class="n">oRect</span> <span class="o">=</span> <span class="n">oDesktop</span><span class="p">.</span><span class="n">screenGeometry</span><span class="p">(</span> <span class="n">oDesktop</span><span class="p">.</span><span class="n">primaryScreen</span><span class="p">()</span>  <span class="p">)</span>
2253         <span class="n">win1</span><span class="p">.</span><span class="n">move</span><span class="p">((</span><span class="n">oRect</span><span class="p">.</span><span class="n">width</span><span class="p">()</span><span class="o">-</span><span class="n">win1</span><span class="p">.</span><span class="n">width</span><span class="p">())</span> <span class="o">/</span><span class="mi">2</span> <span class="p">,</span> <span class="p">(</span><span class="n">oRect</span><span class="p">.</span><span class="n">Height</span><span class="p">()</span><span class="o">-</span><span class="n">win1</span><span class="p">.</span><span class="n">Height</span><span class="p">())</span><span class="o">/</span><span class="mi">2</span> <span class="p">)</span>
2254         <span class="n">win1</span><span class="p">.</span><span class="n">show</span><span class="p">()</span>
2255 </pre></div>
2256 </div>
2257 <p>実行中のアプリケーション</p>
2258 <img alt="Using QDesktopWidget クラス" src="_images/ringqt_shot47.jpg" />
2259 </div>
2260 <div class="section" id="index-50">
2261 <span id="id19"></span><h2>テキストの回転<a class="headerlink" href="#index-50" title="このヘッドラインへのパーマリンク">¶</a></h2>
2262 <p>この用例では、タイマーでテキストを回転しています。</p>
2263 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
2264
2265 <span class="n">nAngle</span>  <span class="o">=</span> <span class="mi">0</span>
2266
2267 <span class="k">New</span> <span class="n">qapp</span> <span class="p">{</span>
2268         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwidget</span><span class="p">()</span> <span class="p">{</span>
2269                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Rotate Text&quot;</span><span class="p">)</span>
2270                 <span class="n">resize</span><span class="p">(</span><span class="mi">800</span><span class="p">,</span><span class="mi">600</span><span class="p">)</span>
2271                 <span class="n">label1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlabel</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2272                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">)</span>
2273                         <span class="n">myfilter</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qallevents</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
2274                         <span class="n">myfilter</span><span class="p">.</span><span class="n">setMouseButtonPressevent</span><span class="p">(</span><span class="s">&quot;pClick()&quot;</span><span class="p">)</span>
2275                         <span class="n">installeventfilter</span><span class="p">(</span><span class="n">myfilter</span><span class="p">)</span>
2276                 <span class="p">}</span>
2277                 <span class="k">new</span> <span class="n">qtimer</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2278                         <span class="n">setinterval</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
2279                         <span class="n">settimeoutevent</span><span class="p">(</span><span class="s">&quot;pTime()&quot;</span><span class="p">)</span>
2280                         <span class="n">start</span><span class="p">()</span>
2281                 <span class="p">}</span>
2282                 <span class="n">pDraw</span><span class="p">()</span>
2283                 <span class="n">L1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qVBoxLayout</span><span class="p">()</span> <span class="p">{</span> <span class="n">AddWidget</span><span class="p">(</span><span class="n">Label1</span><span class="p">)</span> <span class="p">}</span> <span class="n">SetLayout</span><span class="p">(</span><span class="n">L1</span><span class="p">)</span>
2284                 <span class="n">showMaximized</span><span class="p">()</span>
2285         <span class="p">}</span>
2286         <span class="n">exec</span><span class="p">()</span>
2287 <span class="p">}</span>
2288
2289 <span class="k">Func</span> <span class="n">pDraw</span>
2290         <span class="n">p1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpicture</span><span class="p">()</span>
2291         <span class="n">color</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qcolor</span><span class="p">()</span> <span class="p">{</span>
2292                 <span class="n">setrgb</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">255</span><span class="p">,</span><span class="mi">255</span><span class="p">)</span>
2293         <span class="p">}</span>
2294         <span class="n">pen</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpen</span><span class="p">()</span> <span class="p">{</span>
2295                 <span class="n">setcolor</span><span class="p">(</span><span class="n">color</span><span class="p">)</span>
2296                 <span class="n">setwidth</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
2297         <span class="p">}</span>
2298         <span class="n">painter</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpainter</span><span class="p">()</span> <span class="p">{</span>
2299                 <span class="n">begin</span><span class="p">(</span><span class="n">p1</span><span class="p">)</span>
2300                         <span class="n">setpen</span><span class="p">(</span><span class="n">pen</span><span class="p">)</span>
2301                         <span class="n">myfont</span> <span class="o">=</span> <span class="n">font</span><span class="p">()</span>
2302                         <span class="n">myfont</span><span class="p">.</span><span class="n">setpointsize</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
2303                         <span class="n">setfont</span><span class="p">(</span><span class="n">myfont</span><span class="p">)</span>
2304                         <span class="n">rotate</span><span class="p">(</span><span class="n">nAngle</span><span class="p">)</span>
2305                         <span class="n">drawtext</span><span class="p">(</span><span class="mi">350</span><span class="p">,</span><span class="mi">0</span><span class="o">*</span><span class="n">nAngle</span><span class="p">,</span><span class="s">&quot;welcome&quot;</span><span class="p">)</span>
2306                         <span class="n">drawtext</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="o">*</span><span class="n">nAngle</span><span class="p">,</span><span class="s">&quot;welcome&quot;</span><span class="p">)</span>
2307                 <span class="n">endpaint</span><span class="p">()</span>
2308                   <span class="p">}</span>
2309         <span class="n">label1</span> <span class="p">{</span>
2310                 <span class="n">setpicture</span><span class="p">(</span><span class="n">p1</span><span class="p">)</span>
2311                 <span class="n">show</span><span class="p">()</span>
2312         <span class="p">}</span>
2313
2314 <span class="k">Func</span> <span class="n">pClick</span>
2315         <span class="n">win1</span> <span class="p">{</span> <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Click Event&quot;</span><span class="p">)</span> <span class="p">}</span>
2316
2317 <span class="k">Func</span> <span class="n">pTime</span>
2318         <span class="n">nAngle</span><span class="o">++</span>
2319         <span class="k">if</span> <span class="n">nAngle</span> <span class="o">=</span> <span class="mi">90</span>
2320                 <span class="n">nAngle</span> <span class="o">=</span> <span class="mi">10</span>
2321         <span class="k">ok</span>
2322         <span class="n">pDraw</span><span class="p">()</span>
2323 </pre></div>
2324 </div>
2325 <p>実行中のアプリケーション</p>
2326 <img alt="テキスト回転の用例" src="_images/shotrotatetext.png" />
2327 </div>
2328 <div class="section" id="index-51">
2329 <span id="id20"></span><h2>フォーカスの変更<a class="headerlink" href="#index-51" title="このヘッドラインへのパーマリンク">¶</a></h2>
2330 <p>この用例は、 ENTER キーでフォーカスを変更します。</p>
2331 <div class="highlight-ring"><div class="highlight"><pre><span class="k">load</span> <span class="s">&quot;guilib.ring&quot;</span>
2332
2333 <span class="k">new</span> <span class="n">qApp</span> <span class="p">{</span>
2334         <span class="n">win</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span> <span class="p">{</span>
2335                 <span class="n">resize</span><span class="p">(</span><span class="mi">600</span><span class="p">,</span><span class="mi">600</span><span class="p">)</span>
2336                 <span class="n">SetWindowTitle</span><span class="p">(</span><span class="s">&quot;Change Focus&quot;</span><span class="p">)</span>
2337                 <span class="n">text1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qLineEdit</span><span class="p">(</span><span class="n">win</span><span class="p">)</span>
2338                 <span class="n">text2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qLineEdit</span><span class="p">(</span><span class="n">win</span><span class="p">)</span>
2339                 <span class="n">text3</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qLineEdit</span><span class="p">(</span><span class="n">win</span><span class="p">)</span>
2340                 <span class="n">text4</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qLineEdit</span><span class="p">(</span><span class="n">win</span><span class="p">)</span>
2341                 <span class="n">layout1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qVBoxLayout</span><span class="p">()</span> <span class="p">{</span>
2342                         <span class="n">AddWidget</span><span class="p">(</span><span class="n">text1</span><span class="p">)</span>
2343                         <span class="n">AddWidget</span><span class="p">(</span><span class="n">text2</span><span class="p">)</span>
2344                         <span class="n">AddWidget</span><span class="p">(</span><span class="n">text3</span><span class="p">)</span>
2345                         <span class="n">AddWidget</span><span class="p">(</span><span class="n">text4</span><span class="p">)</span>
2346
2347                 <span class="p">}</span>
2348                 <span class="n">setLayout</span><span class="p">(</span><span class="n">Layout1</span><span class="p">)</span>
2349                 <span class="n">aList</span> <span class="o">=</span> <span class="o">[</span><span class="n">text1</span><span class="p">,</span><span class="n">text2</span><span class="p">,</span><span class="n">text3</span><span class="p">,</span><span class="n">text4</span><span class="o">]</span>
2350                 <span class="n">oFilter</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qallevents</span><span class="p">(</span><span class="n">win</span><span class="p">)</span>
2351                 <span class="n">oFilter</span><span class="p">.</span><span class="n">setKeyPressEvent</span><span class="p">(</span><span class="s">&quot;pWork()&quot;</span><span class="p">)</span>
2352                 <span class="n">installeventfilter</span><span class="p">(</span><span class="n">oFilter</span><span class="p">)</span>
2353                 <span class="n">show</span><span class="p">()</span>
2354         <span class="p">}</span>
2355         <span class="n">exec</span><span class="p">()</span>
2356 <span class="p">}</span>
2357
2358 <span class="k">func</span> <span class="n">pWork</span>
2359         <span class="n">nCode</span> <span class="o">=</span>  <span class="n">oFilter</span><span class="p">.</span><span class="n">getkeycode</span><span class="p">()</span>
2360         <span class="k">if</span> <span class="n">nCode</span> <span class="o">=</span> <span class="mi">16777220</span>     <span class="c"># ENTER キー</span>
2361                 <span class="k">for</span> <span class="n">x</span><span class="o">=</span><span class="mi">1</span> <span class="k">to</span> <span class="n">len</span><span class="p">(</span><span class="n">aList</span><span class="p">)</span>
2362                         <span class="k">if</span> <span class="n">aList</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">.</span><span class="n">HasFocus</span><span class="p">()</span>
2363                                 <span class="n">t</span> <span class="o">=</span> <span class="n">x</span><span class="o">+</span><span class="mi">1</span>
2364                                 <span class="k">if</span> <span class="n">t</span> <span class="o">&gt;</span> <span class="n">len</span><span class="p">(</span><span class="n">aList</span><span class="p">)</span> <span class="n">t</span><span class="o">=</span><span class="mi">1</span> <span class="k">ok</span>
2365                                 <span class="n">aList</span><span class="o">[</span><span class="n">t</span><span class="o">]</span><span class="p">.</span><span class="n">SetFocus</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
2366                                 <span class="k">exit</span>
2367                         <span class="k">ok</span>
2368                 <span class="k">next</span>
2369         <span class="k">ok</span>
2370 </pre></div>
2371 </div>
2372 </div>
2373 <div class="section" id="index-52">
2374 <span id="id21"></span><h2>正規表現<a class="headerlink" href="#index-52" title="このヘッドラインへのパーマリンク">¶</a></h2>
2375 <p>この用例では、正規表現のクラスを使用しています。</p>
2376 <div class="highlight-ring"><div class="highlight"><pre><span class="k">load</span> <span class="s">&quot;guilib.ring&quot;</span>
2377
2378 <span class="k">new</span> <span class="n">qApp</span>
2379 <span class="p">{</span>
2380         <span class="k">see</span> <span class="s">&quot;Using Regular Expressions&quot;</span> <span class="o">+</span> <span class="n">nl</span>
2381
2382         <span class="n">exp</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qregularexpression</span><span class="p">()</span> <span class="p">{</span>
2383                 <span class="n">setPattern</span><span class="p">(</span><span class="s">&quot;\d\d \w+&quot;</span><span class="p">)</span>
2384                 <span class="k">see</span> <span class="n">pattern</span><span class="p">()</span> <span class="o">+</span> <span class="n">nl</span>
2385                 <span class="n">match</span> <span class="o">=</span> <span class="n">match</span><span class="p">(</span><span class="s">&quot;33 one&quot;</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
2386                 <span class="k">see</span> <span class="n">match</span><span class="p">.</span><span class="n">hasmatch</span><span class="p">()</span> <span class="o">+</span> <span class="n">nl</span>
2387                 <span class="n">match</span> <span class="o">=</span> <span class="n">match</span><span class="p">(</span><span class="s">&quot;3 one&quot;</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
2388                 <span class="k">see</span> <span class="n">match</span><span class="p">.</span><span class="n">hasmatch</span><span class="p">()</span> <span class="o">+</span> <span class="n">nl</span>
2389                 <span class="n">match</span> <span class="o">=</span> <span class="n">match</span><span class="p">(</span><span class="s">&quot;welcome 11 one&quot;</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
2390                 <span class="k">see</span> <span class="n">match</span><span class="p">.</span><span class="n">hasmatch</span><span class="p">()</span> <span class="o">+</span> <span class="n">nl</span>
2391                 <span class="n">matched</span> <span class="o">=</span> <span class="n">match</span><span class="p">.</span><span class="n">captured</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
2392                 <span class="k">see</span> <span class="n">matched</span> <span class="o">+</span> <span class="n">nl</span>
2393         <span class="p">}</span>
2394         <span class="n">exp</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qregularexpression</span><span class="p">()</span> <span class="p">{</span>
2395                 <span class="n">setPattern</span><span class="p">(</span><span class="s">&quot;^(\d\d)/(\d\d)/(\d\d\d\d)$&quot;</span><span class="p">)</span>
2396                 <span class="k">see</span> <span class="n">pattern</span><span class="p">()</span> <span class="o">+</span> <span class="n">nl</span>
2397                 <span class="n">match</span> <span class="o">=</span> <span class="n">match</span><span class="p">(</span><span class="s">&quot;08/12/1985&quot;</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
2398                 <span class="k">see</span> <span class="n">match</span><span class="p">.</span><span class="n">hasmatch</span><span class="p">()</span> <span class="o">+</span> <span class="n">nl</span>
2399                 <span class="n">day</span> <span class="o">=</span> <span class="n">match</span><span class="p">.</span><span class="n">captured</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
2400                 <span class="n">month</span> <span class="o">=</span> <span class="n">match</span><span class="p">.</span><span class="n">captured</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
2401                 <span class="n">year</span> <span class="o">=</span> <span class="n">match</span><span class="p">.</span><span class="n">captured</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
2402                 <span class="k">see</span> <span class="n">day</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span> <span class="n">month</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span> <span class="n">year</span> <span class="o">+</span> <span class="n">nl</span>
2403                 <span class="k">see</span>  <span class="s">&quot;(&quot;</span> <span class="o">+</span> <span class="n">match</span><span class="p">.</span><span class="n">capturedStart</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="o">+</span> <span class="s">&quot;,&quot;</span> <span class="o">+</span> <span class="n">match</span><span class="p">.</span><span class="n">capturedEnd</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">+</span> <span class="s">&quot;)&quot;</span> <span class="o">+</span> <span class="n">nl</span>
2404                 <span class="k">see</span>  <span class="s">&quot;(&quot;</span> <span class="o">+</span> <span class="n">match</span><span class="p">.</span><span class="n">capturedStart</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="s">&quot;,&quot;</span> <span class="o">+</span> <span class="n">match</span><span class="p">.</span><span class="n">capturedEnd</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">+</span> <span class="s">&quot;)&quot;</span> <span class="o">+</span> <span class="n">nl</span>
2405                 <span class="k">see</span>  <span class="s">&quot;(&quot;</span> <span class="o">+</span> <span class="n">match</span><span class="p">.</span><span class="n">capturedStart</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="s">&quot;,&quot;</span> <span class="o">+</span> <span class="n">match</span><span class="p">.</span><span class="n">capturedEnd</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="o">+</span> <span class="s">&quot;)&quot;</span> <span class="o">+</span> <span class="n">nl</span>
2406         <span class="p">}</span>
2407
2408 <span class="p">}</span>
2409 </pre></div>
2410 </div>
2411 <p>実行結果:</p>
2412 <div class="highlight-ring"><div class="highlight"><pre><span class="n">Using</span> <span class="n">Regular</span> <span class="n">Expressions</span>
2413 <span class="o">\</span><span class="n">d</span><span class="o">\</span><span class="n">d</span> <span class="o">\</span><span class="n">w</span><span class="o">+</span>
2414 <span class="mi">1</span>
2415 <span class="mi">0</span>
2416 <span class="mi">1</span>
2417 <span class="mi">11</span> <span class="n">one</span>
2418 <span class="p">^(</span><span class="o">\</span><span class="n">d</span><span class="o">\</span><span class="n">d</span><span class="p">)</span><span class="o">/</span><span class="p">(</span><span class="o">\</span><span class="n">d</span><span class="o">\</span><span class="n">d</span><span class="p">)</span><span class="o">/</span><span class="p">(</span><span class="o">\</span><span class="n">d</span><span class="o">\</span><span class="n">d</span><span class="o">\</span><span class="n">d</span><span class="o">\</span><span class="n">d</span><span class="p">)</span><span class="o">$</span>
2419 <span class="mi">1</span>
2420 <span class="mi">08</span>
2421 <span class="mi">12</span>
2422 <span class="mi">1985</span>
2423 <span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span>
2424 <span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span>
2425 <span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="mi">10</span><span class="p">)</span>
2426 </pre></div>
2427 </div>
2428 </div>
2429 <div class="section" id="index-53">
2430 <span id="id22"></span><h2>シンプルなクライアントとサーバーの用例<a class="headerlink" href="#index-53" title="このヘッドラインへのパーマリンク">¶</a></h2>
2431 <p>この用例では、シンプルなクライアントとサーバーアプリケーションの作成方法を学びます。</p>
2432 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
2433
2434 <span class="k">new</span> <span class="n">qApp</span> <span class="p">{</span>
2435         <span class="n">oClient</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Client</span> <span class="p">{</span> <span class="n">client</span><span class="p">()</span> <span class="p">}</span>
2436         <span class="n">oServer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Server</span> <span class="p">{</span> <span class="n">server</span><span class="p">()</span> <span class="p">}</span>
2437         <span class="n">exec</span><span class="p">()</span>
2438 <span class="p">}</span>
2439
2440 <span class="k">Class</span> <span class="n">Client</span>
2441
2442         <span class="n">win1</span> <span class="n">lineedit1</span>  <span class="n">cOutput</span><span class="o">=</span><span class="s">&quot;&quot;</span>
2443         <span class="n">oTcpSocket</span>
2444
2445         <span class="k">func</span> <span class="n">client</span>
2446
2447                 <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwidget</span><span class="p">()</span>
2448
2449                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2450                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">50</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
2451                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;connect&quot;</span><span class="p">)</span>
2452                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;oClient.Connect()&quot;</span><span class="p">)</span>
2453                 <span class="p">}</span>
2454
2455                 <span class="n">lineedit1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qtextedit</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2456                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">150</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">300</span><span class="p">)</span>
2457                 <span class="p">}</span>
2458
2459                 <span class="n">win1</span> <span class="p">{</span>
2460                         <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;client&quot;</span><span class="p">)</span>
2461                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
2462                         <span class="n">show</span><span class="p">()</span>
2463                 <span class="p">}</span>
2464
2465         <span class="k">func</span> <span class="n">connect</span>
2466                 <span class="n">cOutput</span> <span class="o">=</span> <span class="s">&quot;Connect to host 127.0.0.1 port 9999&quot;</span> <span class="o">+</span> <span class="n">nl</span>
2467                 <span class="n">lineedit1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="n">cOutput</span><span class="p">)</span>
2468                 <span class="n">oTcpSocket</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qTcpSocket</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2469                         <span class="n">setconnectedevent</span><span class="p">(</span><span class="s">&quot;oClient.pConnected()&quot;</span><span class="p">)</span>
2470                         <span class="n">setreadyreadevent</span><span class="p">(</span><span class="s">&quot;oClient.pRead()&quot;</span><span class="p">)</span>
2471                         <span class="n">connecttohost</span><span class="p">(</span><span class="s">&quot;127.0.0.1&quot;</span><span class="p">,</span><span class="mi">9999</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
2472                         <span class="n">waitforconnected</span><span class="p">(</span><span class="mi">5000</span><span class="p">)</span>
2473                 <span class="p">}</span>
2474
2475         <span class="k">func</span> <span class="n">pConnected</span>
2476
2477                 <span class="n">cOutput</span> <span class="o">+=</span> <span class="s">&quot;Connected!&quot;</span> <span class="o">+</span> <span class="n">nl</span>
2478                 <span class="n">lineedit1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="n">cOutput</span><span class="p">)</span>
2479
2480         <span class="k">func</span> <span class="n">pRead</span>
2481
2482                 <span class="n">cOutput</span> <span class="o">+=</span> <span class="s">&quot;Ready Read!&quot;</span> <span class="o">+</span> <span class="n">nl</span>
2483                 <span class="n">lineedit1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="n">cOutput</span><span class="p">)</span>
2484                 <span class="n">cOutput</span> <span class="o">+=</span> <span class="n">oTcpSocket</span><span class="p">.</span><span class="n">readall</span><span class="p">().</span><span class="n">data</span><span class="p">()</span> <span class="o">+</span> <span class="n">nl</span>
2485                 <span class="n">lineedit1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="n">cOutput</span><span class="p">)</span>
2486
2487 <span class="k">Class</span> <span class="n">Server</span>
2488
2489         <span class="n">win1</span> <span class="n">lineedit1</span>
2490         <span class="n">oTcpServer</span> <span class="n">oTcpClient</span>
2491         <span class="n">cOutput</span> <span class="o">=</span> <span class="s">&quot;&quot;</span>
2492
2493         <span class="k">func</span> <span class="n">server</span>
2494
2495                 <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qwidget</span><span class="p">()</span>
2496
2497                 <span class="n">lineedit1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qtextedit</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2498                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">150</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">300</span><span class="p">)</span>
2499                 <span class="p">}</span>
2500
2501                 <span class="n">win1</span> <span class="p">{</span>
2502                         <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Server&quot;</span><span class="p">)</span>
2503                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">450</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
2504                         <span class="n">show</span><span class="p">()</span>
2505                 <span class="p">}</span>
2506
2507                 <span class="n">oTcpServer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qTcpServer</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2508                         <span class="n">setNewConnectionEvent</span><span class="p">(</span><span class="s">&quot;oServer.pNewConnection()&quot;</span><span class="p">)</span>
2509                         <span class="n">oHostAddress</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qHostAddress</span><span class="p">()</span>
2510                         <span class="n">oHostAddress</span><span class="p">.</span><span class="n">SetAddress</span><span class="p">(</span><span class="s">&quot;127.0.0.1&quot;</span><span class="p">)</span>
2511                         <span class="n">listen</span><span class="p">(</span><span class="n">oHostAddress</span><span class="p">,</span><span class="mi">9999</span><span class="p">)</span>
2512                 <span class="p">}</span>
2513                 <span class="n">cOutput</span> <span class="o">=</span> <span class="s">&quot;Server Started&quot;</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
2514                            <span class="s">&quot;listen to port 9999&quot;</span> <span class="o">+</span> <span class="n">nl</span>
2515
2516                 <span class="n">lineedit1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="n">cOutput</span><span class="p">)</span>
2517
2518         <span class="k">Func</span> <span class="n">pNewConnection</span>
2519
2520                 <span class="n">oTcpClient</span> <span class="o">=</span> <span class="n">oTcpServer</span><span class="p">.</span><span class="n">nextPendingConnection</span><span class="p">()</span>
2521                 <span class="n">cOutput</span> <span class="o">+=</span> <span class="s">&quot;Accept Connection&quot;</span> <span class="o">+</span> <span class="n">nl</span>
2522                 <span class="n">lineedit1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="n">cOutput</span><span class="p">)</span>
2523                 <span class="n">oTcpClient</span> <span class="p">{</span>
2524                         <span class="n">cStr</span> <span class="o">=</span><span class="s">&quot;Hello from server to client!&quot;</span><span class="o">+</span><span class="n">char</span><span class="p">(</span><span class="mi">13</span><span class="p">)</span><span class="o">+</span><span class="n">char</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
2525                         <span class="n">write</span><span class="p">(</span><span class="n">cStr</span><span class="p">,</span><span class="n">len</span><span class="p">(</span><span class="n">cStr</span><span class="p">))</span>
2526                         <span class="n">flush</span><span class="p">()</span>
2527                         <span class="n">waitforbyteswritten</span><span class="p">(</span><span class="mi">300000</span><span class="p">)</span>
2528                         <span class="n">close</span><span class="p">()</span>
2529                 <span class="p">}</span>
2530 </pre></div>
2531 </div>
2532 <p>実行中のアプリケーション</p>
2533 <img alt="クライアントとサーバーの用例" src="_images/ringqt_shot36.jpg" />
2534 </div>
2535 <div class="section" id="index-54">
2536 <span id="id23"></span><h2>動的オブジェクト<a class="headerlink" href="#index-54" title="このヘッドラインへのパーマリンク">¶</a></h2>
2537 <p>実行時にオブジェクトの作成、およびウィンドウへオブジェクトを追加します。</p>
2538 <p>用例:</p>
2539 <div class="highlight-ring"><div class="highlight"><pre><span class="k">load</span> <span class="s">&quot;guilib.ring&quot;</span>
2540
2541 <span class="n">oFormDesigner</span> <span class="o">=</span> <span class="k">new</span> <span class="n">FormDesigner</span> <span class="p">{</span> <span class="n">start</span><span class="p">(</span><span class="s">&quot;oFormDesigner&quot;</span><span class="p">)</span> <span class="p">}</span>
2542
2543 <span class="k">Class</span> <span class="n">FormDesigner</span>
2544
2545         <span class="n">winToolBox</span>  <span class="n">winForm</span>
2546
2547         <span class="n">aObjects</span> <span class="o">=</span> <span class="o">[]</span>
2548
2549         <span class="k">func</span> <span class="n">start</span> <span class="n">cObjectName</span>
2550
2551                 <span class="n">oApp</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qApp</span>
2552
2553                 <span class="n">winToolBox</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span>
2554                 <span class="n">winToolBox</span><span class="p">.</span><span class="n">setWindowTitle</span><span class="p">(</span><span class="s">&quot;ToolBox&quot;</span><span class="p">)</span>
2555                 <span class="n">winToolBox</span><span class="p">.</span><span class="n">move</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">)</span>
2556                 <span class="n">winToolBox</span><span class="p">.</span><span class="n">resize</span><span class="p">(</span><span class="mi">300</span><span class="p">,</span><span class="mi">600</span><span class="p">)</span>
2557
2558                 <span class="n">btn</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qPushButton</span><span class="p">(</span><span class="n">winToolBox</span><span class="p">)</span>
2559                 <span class="n">btn</span><span class="p">.</span><span class="n">resize</span><span class="p">(</span><span class="mi">300</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
2560                 <span class="n">btn</span><span class="p">.</span><span class="n">setText</span><span class="p">(</span><span class="s">&quot;Create Button&quot;</span><span class="p">)</span>
2561                 <span class="n">btn</span><span class="p">.</span><span class="n">setClickEvent</span><span class="p">(</span><span class="n">cObjectName</span><span class="o">+</span><span class="s">&quot;.pCreateButton()&quot;</span><span class="p">)</span>
2562                 <span class="n">btn</span><span class="p">.</span><span class="n">show</span><span class="p">()</span>
2563
2564                 <span class="n">winToolBox</span><span class="p">.</span><span class="n">show</span><span class="p">()</span>
2565
2566                 <span class="n">winForm</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span> <span class="p">{</span>
2567                         <span class="n">move</span><span class="p">(</span><span class="mi">400</span><span class="p">,</span><span class="mi">50</span><span class="p">)</span>
2568                         <span class="n">setWindowTitle</span><span class="p">(</span><span class="s">&quot;Form Designer&quot;</span><span class="p">)</span>
2569                         <span class="n">resize</span><span class="p">(</span><span class="mi">600</span><span class="p">,</span><span class="mi">600</span><span class="p">)</span>
2570                         <span class="n">show</span><span class="p">()</span>
2571                 <span class="p">}</span>
2572
2573                 <span class="n">oApp</span><span class="p">.</span><span class="n">exec</span><span class="p">()</span>
2574
2575
2576         <span class="k">func</span> <span class="n">pCreateButton</span>
2577
2578                 <span class="n">nCount</span> <span class="o">=</span> <span class="n">len</span><span class="p">(</span><span class="n">aObjects</span><span class="p">)</span>
2579
2580                 <span class="n">aObjects</span> <span class="o">+</span> <span class="k">new</span> <span class="n">MyButton</span><span class="p">(</span><span class="n">winForm</span><span class="p">)</span>
2581                 <span class="p">{</span>
2582                         <span class="n">nIndex</span> <span class="o">=</span> <span class="n">nCount</span> <span class="o">+</span> <span class="mi">1</span>
2583                         <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Button&quot;</span><span class="o">+</span> <span class="n">nIndex</span><span class="p">)</span>
2584                         <span class="n">Move</span><span class="p">(</span><span class="mi">30</span><span class="o">*</span><span class="n">nIndex</span><span class="p">,</span><span class="mi">30</span><span class="o">*</span><span class="n">nIndex</span><span class="p">)</span>
2585                         <span class="n">resize</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
2586                         <span class="n">show</span><span class="p">()</span>
2587                 <span class="p">}</span>
2588
2589
2590 <span class="k">Class</span> <span class="n">MyButton</span> <span class="k">from</span> <span class="n">qPushButton</span>
2591         <span class="n">nIndex</span> <span class="o">=</span> <span class="mi">0</span>
2592 </pre></div>
2593 </div>
2594 </div>
2595 <div class="section" id="weight-history">
2596 <span id="index-55"></span><h2>Weight History アプリケーション<a class="headerlink" href="#weight-history" title="このヘッドラインへのパーマリンク">¶</a></h2>
2597 <p>このサンプルは体重の記録で役に立ちます (日付、時刻と体重)。</p>
2598 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
2599
2600 <span class="n">MyApp</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qApp</span>
2601 <span class="p">{</span>
2602   <span class="o">$</span><span class="n">ApplicationObject</span> <span class="o">=</span> <span class="s">&quot;oApp&quot;</span>   <span class="c"># イベントを呼び出すときに使用します。</span>
2603   <span class="n">oApp</span> <span class="o">=</span> <span class="k">new</span> <span class="n">App</span>
2604   <span class="n">exec</span><span class="p">()</span>
2605   <span class="n">oApp</span><span class="p">.</span><span class="n">CloseDatabase</span><span class="p">()</span>
2606 <span class="p">}</span>
2607
2608 <span class="k">class</span> <span class="n">App</span>
2609
2610   <span class="n">cDir</span> <span class="o">=</span> <span class="n">currentdir</span><span class="p">()</span> <span class="o">+</span> <span class="s">&quot;/&quot;</span>
2611   <span class="n">oCon</span>
2612   <span class="n">aIDs</span> <span class="o">=</span> <span class="o">[]</span>
2613
2614   <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span>
2615   <span class="p">{</span>
2616         <span class="n">setWindowTitle</span><span class="p">(</span><span class="s">&quot;Weight History&quot;</span><span class="p">)</span>
2617         <span class="n">resize</span><span class="p">(</span><span class="mi">600</span><span class="p">,</span><span class="mi">600</span><span class="p">)</span>
2618         <span class="n">layoutButtons</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qhboxlayout</span><span class="p">()</span>
2619         <span class="p">{</span>
2620           <span class="n">label1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qLabel</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span> <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Weight&quot;</span><span class="p">)</span> <span class="p">}</span>
2621           <span class="n">text1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlineedit</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
2622           <span class="n">btnAdd</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2623                   <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Add&quot;</span><span class="p">)</span>
2624                   <span class="n">setClickEvent</span><span class="p">(</span><span class="o">$</span><span class="n">ApplicationObject</span><span class="o">+</span><span class="s">&quot;.AddWeight()&quot;</span><span class="p">)</span>
2625           <span class="p">}</span>
2626           <span class="n">btnDelete</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2627                   <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Delete&quot;</span><span class="p">)</span>
2628                   <span class="n">setClickEvent</span><span class="p">(</span><span class="o">$</span><span class="n">ApplicationObject</span><span class="o">+</span><span class="s">&quot;.Deleteweight()&quot;</span><span class="p">)</span>
2629           <span class="p">}</span>
2630           <span class="n">addwidget</span><span class="p">(</span><span class="n">label1</span><span class="p">)</span>
2631           <span class="n">addwidget</span><span class="p">(</span><span class="n">text1</span><span class="p">)</span>
2632           <span class="n">addwidget</span><span class="p">(</span><span class="n">btnAdd</span><span class="p">)</span>
2633           <span class="n">addwidget</span><span class="p">(</span><span class="n">btnDelete</span><span class="p">)</span>
2634         <span class="p">}</span>
2635         <span class="n">layoutData</span>  <span class="o">=</span> <span class="k">new</span> <span class="n">qhboxlayout</span><span class="p">()</span>
2636         <span class="p">{</span>
2637           <span class="n">Table1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qTableWidget</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2638                 <span class="n">setrowcount</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
2639                 <span class="n">setcolumncount</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
2640                 <span class="n">setselectionbehavior</span><span class="p">(</span><span class="n">QAbstractItemView_SelectRows</span><span class="p">)</span>
2641                 <span class="n">setHorizontalHeaderItem</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="k">new</span> <span class="n">QTableWidgetItem</span><span class="p">(</span><span class="s">&quot;Date&quot;</span><span class="p">))</span>
2642                 <span class="n">setHorizontalHeaderItem</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="k">new</span> <span class="n">QTableWidgetItem</span><span class="p">(</span><span class="s">&quot;Time&quot;</span><span class="p">))</span>
2643                 <span class="n">setHorizontalHeaderItem</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="k">new</span> <span class="n">QTableWidgetItem</span><span class="p">(</span><span class="s">&quot;Weight&quot;</span><span class="p">))</span>
2644                 <span class="n">setitemChangedEvent</span><span class="p">(</span><span class="o">$</span><span class="n">ApplicationObject</span><span class="o">+</span><span class="s">&quot;.ItemChanged()&quot;</span><span class="p">)</span>
2645                                    <span class="n">setAlternatingRowColors</span><span class="p">(</span><span class="kp">true</span><span class="p">)</span>
2646                                    <span class="n">horizontalHeader</span><span class="p">().</span><span class="n">setStyleSheet</span><span class="p">(</span><span class="s">&quot;color: blue&quot;</span><span class="p">)</span>
2647                                    <span class="n">verticalHeader</span><span class="p">().</span><span class="n">setStyleSheet</span><span class="p">(</span><span class="s">&quot;color: red&quot;</span><span class="p">)</span>
2648           <span class="p">}</span>
2649           <span class="n">addWidget</span><span class="p">(</span><span class="n">Table1</span><span class="p">)</span>
2650         <span class="p">}</span>
2651         <span class="n">layoutClose</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qhboxlayout</span><span class="p">()</span>
2652         <span class="p">{</span>
2653           <span class="n">btnclose</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2654             <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Close&quot;</span><span class="p">)</span>
2655             <span class="n">setClickEvent</span><span class="p">(</span><span class="s">&quot;MyApp.Quit()&quot;</span><span class="p">)</span>
2656           <span class="p">}</span>
2657           <span class="n">addwidget</span><span class="p">(</span><span class="n">btnClose</span><span class="p">)</span>
2658         <span class="p">}</span>
2659         <span class="n">layoutMain</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qvboxlayout</span><span class="p">()</span>
2660         <span class="p">{</span>
2661           <span class="n">addlayout</span><span class="p">(</span><span class="n">layoutButtons</span><span class="p">)</span>
2662           <span class="n">addLayout</span><span class="p">(</span><span class="n">LayoutData</span><span class="p">)</span>
2663           <span class="n">addLayout</span><span class="p">(</span><span class="n">layoutClose</span><span class="p">)</span>
2664         <span class="p">}</span>
2665         <span class="n">setlayout</span><span class="p">(</span><span class="n">layoutMain</span><span class="p">)</span>
2666         <span class="n">self</span><span class="p">.</span><span class="n">OpenDatabase</span><span class="p">()</span>
2667         <span class="n">self</span><span class="p">.</span><span class="n">ShowRecords</span><span class="p">()</span>
2668         <span class="n">show</span><span class="p">()</span>
2669   <span class="p">}</span>
2670
2671   <span class="k">Func</span> <span class="n">OpenDatabase</span>
2672         <span class="n">lCreate</span> <span class="o">=</span> <span class="kp">False</span>
2673         <span class="k">if</span> <span class="ow">not</span> <span class="n">fexists</span><span class="p">(</span><span class="n">cDir</span> <span class="o">+</span> <span class="s">&quot;weighthistory.db&quot;</span><span class="p">)</span>
2674           <span class="n">lCreate</span> <span class="o">=</span> <span class="kp">True</span>
2675         <span class="k">ok</span>
2676         <span class="k">new</span> <span class="n">QSqlDatabase</span><span class="p">()</span> <span class="p">{</span>
2677           <span class="n">this</span><span class="p">.</span><span class="n">oCon</span> <span class="o">=</span> <span class="n">addDatabase</span><span class="p">(</span><span class="s">&quot;QSQLITE&quot;</span><span class="p">)</span> <span class="p">{</span>
2678                 <span class="n">setDatabaseName</span><span class="p">(</span><span class="s">&quot;weighthistory.db&quot;</span><span class="p">)</span>
2679                 <span class="n">Open</span><span class="p">()</span>
2680           <span class="p">}</span>
2681         <span class="p">}</span>
2682         <span class="k">if</span> <span class="n">lCreate</span>
2683           <span class="k">new</span> <span class="n">QSqlQuery</span><span class="p">(</span> <span class="p">)</span> <span class="p">{</span>
2684                 <span class="n">exec</span><span class="p">(</span><span class="s">&quot;create table weighthistory (id integer primary key,&quot;</span><span class="o">+</span>
2685                      <span class="s">&quot; f_date varchar(10),&quot;</span><span class="o">+</span>
2686                      <span class="s">&quot; f_time varchar(8), f_weight varchar(8) );&quot;</span><span class="p">)</span>
2687                 <span class="n">delete</span><span class="p">()</span>
2688           <span class="p">}</span>
2689         <span class="k">ok</span>
2690
2691
2692   <span class="k">Func</span> <span class="n">CloseDatabase</span>
2693         <span class="n">oCon</span><span class="p">.</span><span class="n">Close</span><span class="p">()</span>
2694
2695   <span class="k">Func</span> <span class="n">AddWeight</span>
2696         <span class="n">cWeight</span> <span class="o">=</span> <span class="n">text1</span><span class="p">.</span><span class="n">text</span><span class="p">()</span>
2697         <span class="n">AddRecord</span><span class="p">(</span><span class="n">cWeight</span><span class="p">)</span>
2698
2699   <span class="k">Func</span> <span class="n">DeleteWeight</span>
2700         <span class="n">Table1</span> <span class="p">{</span>
2701            <span class="n">nRow</span> <span class="o">=</span> <span class="n">CurrentRow</span><span class="p">()</span>
2702           <span class="k">if</span> <span class="n">nRow</span> <span class="o">&gt;=</span> <span class="mi">0</span>
2703                 <span class="n">nID</span> <span class="o">=</span> <span class="n">this</span><span class="p">.</span><span class="n">aIDs</span><span class="o">[</span><span class="n">nROW</span><span class="o">+</span><span class="mi">1</span><span class="o">]</span>
2704                 <span class="k">new</span> <span class="n">QSqlQuery</span><span class="p">(</span> <span class="p">)</span> <span class="p">{</span>
2705                   <span class="n">exec</span><span class="p">(</span><span class="s">&quot;delete from weighthistory where id = &quot;</span> <span class="o">+</span> <span class="n">nID</span> <span class="p">)</span>
2706                 <span class="p">}</span>
2707                 <span class="n">Del</span><span class="p">(</span><span class="n">this</span><span class="p">.</span><span class="n">aIDs</span><span class="p">,</span><span class="n">nRow</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span>
2708                 <span class="n">removerow</span><span class="p">(</span><span class="n">nRow</span><span class="p">)</span>
2709                 <span class="n">selectrow</span><span class="p">(</span><span class="n">nRow</span><span class="p">)</span>
2710           <span class="k">ok</span>
2711         <span class="p">}</span>
2712
2713
2714   <span class="k">Func</span> <span class="n">AddRecord</span> <span class="n">cWeight</span>
2715         <span class="k">new</span> <span class="n">QSqlQuery</span><span class="p">(</span> <span class="p">)</span> <span class="p">{</span>
2716           <span class="n">cStr</span> <span class="o">=</span> <span class="s">&quot;insert into weighthistory (f_date,f_time,f_weight) values&quot;</span><span class="o">+</span>
2717           <span class="s">&quot; (&#39;%f1&#39;,&#39;%f2&#39;,&#39;%f3&#39;)&quot;</span>
2718           <span class="n">cDate</span> <span class="o">=</span> <span class="n">Date</span><span class="p">()</span>
2719           <span class="n">cTime</span> <span class="o">=</span> <span class="n">Time</span><span class="p">()</span>
2720           <span class="n">cStr</span> <span class="o">=</span> <span class="n">substr</span><span class="p">(</span><span class="n">cStr</span><span class="p">,</span><span class="s">&quot;%f1&quot;</span><span class="p">,</span><span class="n">cDate</span><span class="p">)</span>
2721           <span class="n">cStr</span> <span class="o">=</span> <span class="n">substr</span><span class="p">(</span><span class="n">cStr</span><span class="p">,</span><span class="s">&quot;%f2&quot;</span><span class="p">,</span><span class="n">cTime</span><span class="p">)</span>
2722           <span class="n">cStr</span> <span class="o">=</span> <span class="n">substr</span><span class="p">(</span><span class="n">cStr</span><span class="p">,</span><span class="s">&quot;%f3&quot;</span><span class="p">,</span><span class="n">cWeight</span><span class="p">)</span>
2723           <span class="n">exec</span><span class="p">(</span><span class="n">cStr</span><span class="p">)</span>
2724           <span class="n">delete</span><span class="p">()</span>
2725         <span class="p">}</span>
2726         <span class="n">ShowRecords</span><span class="p">()</span>
2727         <span class="n">Table1</span><span class="p">.</span><span class="n">selectrow</span><span class="p">(</span><span class="n">table1</span><span class="p">.</span><span class="n">rowcount</span><span class="p">()</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span>
2728
2729
2730   <span class="k">Func</span> <span class="n">ShowRecords</span>
2731         <span class="n">table1</span><span class="p">.</span><span class="n">setitemChangedEvent</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">)</span>
2732         <span class="n">aIDs</span> <span class="o">=</span> <span class="o">[]</span>
2733         <span class="n">query</span> <span class="o">=</span> <span class="k">new</span> <span class="n">QSqlQuery</span><span class="p">()</span> <span class="p">{</span>
2734           <span class="n">exec</span><span class="p">(</span><span class="s">&quot;select * from weighthistory&quot;</span><span class="p">)</span>
2735           <span class="n">nRows</span> <span class="o">=</span> <span class="mi">0</span>
2736           <span class="n">this</span><span class="p">.</span><span class="n">Table1</span><span class="p">.</span><span class="n">setrowcount</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
2737           <span class="k">while</span> <span class="n">movenext</span><span class="p">()</span>
2738                 <span class="n">this</span><span class="p">.</span><span class="n">table1</span> <span class="p">{</span>
2739                   <span class="n">insertRow</span><span class="p">(</span><span class="n">nRows</span><span class="p">)</span>
2740                   <span class="n">this</span><span class="p">.</span><span class="n">aIDs</span> <span class="o">+</span> <span class="n">query</span><span class="p">.</span><span class="n">value</span><span class="p">(</span><span class="mi">0</span><span class="p">).</span><span class="n">tostring</span><span class="p">()</span>
2741                   <span class="k">for</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">1</span> <span class="k">to</span> <span class="mi">3</span>
2742                         <span class="n">cStr</span> <span class="o">=</span> <span class="n">query</span><span class="p">.</span><span class="n">value</span><span class="p">(</span><span class="n">x</span><span class="p">).</span><span class="n">tostring</span><span class="p">()</span>
2743                         <span class="n">item</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qTableWidgetItem</span><span class="p">(</span><span class="n">cStr</span><span class="p">)</span>
2744                         <span class="n">setItem</span><span class="p">(</span><span class="n">nRows</span><span class="p">,</span><span class="n">x</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">item</span><span class="p">)</span>
2745                   <span class="k">next</span>
2746                 <span class="p">}</span>
2747                 <span class="n">nRows</span><span class="o">++</span>
2748           <span class="k">end</span>
2749           <span class="n">delete</span><span class="p">()</span>
2750         <span class="p">}</span>
2751         <span class="n">table1</span><span class="p">.</span><span class="n">setitemChangedEvent</span><span class="p">(</span><span class="o">$</span><span class="n">ApplicationObject</span><span class="o">+</span><span class="s">&quot;.ItemChanged()&quot;</span><span class="p">)</span>
2752
2753   <span class="k">Func</span> <span class="n">ItemChanged</span>
2754         <span class="n">nRow</span> <span class="o">=</span>  <span class="n">table1</span><span class="p">.</span><span class="n">currentrow</span><span class="p">()</span>
2755         <span class="k">if</span> <span class="n">nRow</span> <span class="o">&gt;=</span> <span class="mi">0</span>
2756           <span class="n">myitem</span> <span class="o">=</span> <span class="n">Table1</span><span class="p">.</span><span class="n">item</span><span class="p">(</span><span class="n">table1</span><span class="p">.</span><span class="n">currentrow</span><span class="p">(),</span><span class="mi">0</span><span class="p">)</span>
2757           <span class="n">cDate</span> <span class="o">=</span> <span class="n">myitem</span><span class="p">.</span><span class="n">text</span><span class="p">()</span>
2758           <span class="n">myitem</span> <span class="o">=</span> <span class="n">Table1</span><span class="p">.</span><span class="n">item</span><span class="p">(</span><span class="n">table1</span><span class="p">.</span><span class="n">currentrow</span><span class="p">(),</span><span class="mi">1</span><span class="p">)</span>
2759           <span class="n">cTime</span> <span class="o">=</span> <span class="n">myitem</span><span class="p">.</span><span class="n">text</span><span class="p">()</span>
2760           <span class="n">myitem</span> <span class="o">=</span> <span class="n">Table1</span><span class="p">.</span><span class="n">item</span><span class="p">(</span><span class="n">table1</span><span class="p">.</span><span class="n">currentrow</span><span class="p">(),</span><span class="mi">2</span><span class="p">)</span>
2761           <span class="n">cWeight</span> <span class="o">=</span> <span class="n">myitem</span><span class="p">.</span><span class="n">text</span><span class="p">()</span>
2762           <span class="k">new</span> <span class="n">QSqlQuery</span><span class="p">(</span> <span class="p">)</span> <span class="p">{</span>
2763                 <span class="n">cStr</span> <span class="o">=</span> <span class="s">&quot;update weighthistory set f_date =&#39;%f1&#39; , f_time = &#39;%f2&#39; , &quot;</span><span class="o">+</span>
2764                 <span class="s">&quot;f_weight =&#39;%f3&#39; where id = &quot;</span> <span class="o">+</span>  <span class="n">this</span><span class="p">.</span><span class="n">aIDs</span><span class="o">[</span><span class="n">nROW</span><span class="o">+</span><span class="mi">1</span><span class="o">]</span>
2765                 <span class="n">cStr</span> <span class="o">=</span> <span class="n">substr</span><span class="p">(</span><span class="n">cStr</span><span class="p">,</span><span class="s">&quot;%f1&quot;</span><span class="p">,</span><span class="n">cDate</span><span class="p">)</span>
2766                 <span class="n">cStr</span> <span class="o">=</span> <span class="n">substr</span><span class="p">(</span><span class="n">cStr</span><span class="p">,</span><span class="s">&quot;%f2&quot;</span><span class="p">,</span><span class="n">cTime</span><span class="p">)</span>
2767                 <span class="n">cStr</span> <span class="o">=</span> <span class="n">substr</span><span class="p">(</span><span class="n">cStr</span><span class="p">,</span><span class="s">&quot;%f3&quot;</span><span class="p">,</span><span class="n">cWeight</span><span class="p">)</span>
2768                 <span class="n">exec</span><span class="p">(</span><span class="n">cStr</span><span class="p">)</span>
2769                 <span class="n">delete</span><span class="p">()</span>
2770           <span class="p">}</span>
2771         <span class="k">ok</span>
2772 </pre></div>
2773 </div>
2774 <p>このスクリーンショットはアプリケーション実行中のものです。</p>
2775 <img alt="Weight History アプリケーション" src="_images/weighthistory_app.png" />
2776 </div>
2777 <div class="section" id="notepad">
2778 <span id="index-56"></span><h2>Notepad アプリケーション<a class="headerlink" href="#notepad" title="このヘッドラインへのパーマリンク">¶</a></h2>
2779 <p>この用例では、 RingQt を使用してシンプルな Notepad を開発したものです。</p>
2780 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
2781
2782 <span class="n">cActiveFileName</span> <span class="o">=</span> <span class="s">&quot;&quot;</span>
2783 <span class="n">aTextColor</span> <span class="o">=</span> <span class="o">[</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="o">]</span>
2784 <span class="n">aBackColor</span> <span class="o">=</span> <span class="o">[</span><span class="mi">255</span><span class="p">,</span><span class="mi">255</span><span class="p">,</span><span class="mi">255</span><span class="o">]</span>
2785 <span class="n">cFont</span> <span class="o">=</span> <span class="s">&quot;MS Shell Dlg 2,14,-1,5,50,0,0,0,0,0&quot;</span>
2786 <span class="n">cWebsite</span> <span class="o">=</span> <span class="s">&quot;http://www.google.com&quot;</span>
2787
2788 <span class="n">oSearch</span> <span class="o">=</span> <span class="kp">NULL</span>
2789 <span class="n">oSearchValue</span> <span class="o">=</span> <span class="kp">NULL</span>
2790 <span class="n">oSearchCase</span> <span class="o">=</span> <span class="kp">NULL</span>
2791 <span class="n">oSearchFilter</span> <span class="o">=</span> <span class="kp">NULL</span>
2792 <span class="n">oReplaceValue</span> <span class="o">=</span> <span class="kp">NULL</span>
2793
2794 <span class="n">lAskToSave</span> <span class="o">=</span> <span class="kp">false</span>
2795
2796 <span class="n">MyApp</span> <span class="o">=</span> <span class="k">New</span> <span class="n">qApp</span> <span class="p">{</span>
2797         <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qMainWindow</span><span class="p">()</span> <span class="p">{</span>
2798
2799                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Ring Notepad&quot;</span><span class="p">)</span>
2800                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
2801                 <span class="n">aBtns</span> <span class="o">=</span> <span class="o">[</span>
2802                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2803                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/new.png&quot;</span><span class="p">)</span>
2804                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pNew()&quot;</span><span class="p">)</span>
2805                                         <span class="n">settooltip</span><span class="p">(</span><span class="s">&quot;New File&quot;</span><span class="p">)</span>
2806                                 <span class="p">}</span> <span class="p">,</span>
2807                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2808                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/open.png&quot;</span><span class="p">)</span>
2809                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pOpen()&quot;</span><span class="p">)</span>
2810                                         <span class="n">settooltip</span><span class="p">(</span><span class="s">&quot;Open File&quot;</span><span class="p">)</span>
2811                                 <span class="p">}</span> <span class="p">,</span>
2812                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2813                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/save.png&quot;</span><span class="p">)</span>
2814                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pSave()&quot;</span><span class="p">)</span>
2815                                         <span class="n">settooltip</span><span class="p">(</span><span class="s">&quot;Save&quot;</span><span class="p">)</span>
2816                                  <span class="p">}</span> <span class="p">,</span>
2817                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2818                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/saveas.png&quot;</span><span class="p">)</span>
2819                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pSaveAs()&quot;</span><span class="p">)</span>
2820                                         <span class="n">settooltip</span><span class="p">(</span><span class="s">&quot;Save As&quot;</span><span class="p">)</span>
2821                                  <span class="p">}</span> <span class="p">,</span>
2822                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2823                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/cut.png&quot;</span><span class="p">)</span>
2824                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pCut()&quot;</span><span class="p">)</span>
2825                                         <span class="n">settooltip</span><span class="p">(</span><span class="s">&quot;Cut&quot;</span><span class="p">)</span>
2826                                  <span class="p">}</span> <span class="p">,</span>
2827                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2828                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/copy.png&quot;</span><span class="p">)</span>
2829                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pCopy()&quot;</span><span class="p">)</span>
2830                                         <span class="n">settooltip</span><span class="p">(</span><span class="s">&quot;Copy&quot;</span><span class="p">)</span>
2831                                 <span class="p">}</span> <span class="p">,</span>
2832                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2833                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/paste.png&quot;</span><span class="p">)</span>
2834                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pPaste()&quot;</span><span class="p">)</span>
2835                                         <span class="n">settooltip</span><span class="p">(</span><span class="s">&quot;Paste&quot;</span><span class="p">)</span>
2836                                 <span class="p">}</span> <span class="p">,</span>
2837                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2838                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/font.png&quot;</span><span class="p">)</span>
2839                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pFont()&quot;</span><span class="p">)</span>
2840                                         <span class="n">settooltip</span><span class="p">(</span><span class="s">&quot;Font&quot;</span><span class="p">)</span>
2841                                 <span class="p">}</span> <span class="p">,</span>
2842                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2843                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/colors.jpg&quot;</span><span class="p">)</span>
2844                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pColor()&quot;</span><span class="p">)</span>
2845                                         <span class="n">settooltip</span><span class="p">(</span><span class="s">&quot;Text Color&quot;</span><span class="p">)</span>
2846                                 <span class="p">}</span> <span class="p">,</span>
2847                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2848                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/search.png&quot;</span><span class="p">)</span>
2849                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pFind()&quot;</span><span class="p">)</span>
2850                                         <span class="n">settooltip</span><span class="p">(</span><span class="s">&quot;Find and Replace&quot;</span><span class="p">)</span>
2851                                 <span class="p">}</span> <span class="p">,</span>
2852                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2853                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/print.png&quot;</span><span class="p">)</span>
2854                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pPrint()&quot;</span><span class="p">)</span>
2855                                         <span class="n">settooltip</span><span class="p">(</span><span class="s">&quot;Print&quot;</span><span class="p">)</span>
2856                                 <span class="p">}</span> <span class="p">,</span>
2857                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2858                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/debug.png&quot;</span><span class="p">)</span>
2859                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pDebug()&quot;</span><span class="p">)</span>
2860                                         <span class="n">settooltip</span><span class="p">(</span><span class="s">&quot;Debug (Run then wait!)&quot;</span><span class="p">)</span>
2861                                 <span class="p">}</span> <span class="p">,</span>
2862                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2863                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/run.png&quot;</span><span class="p">)</span>
2864                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pRun()&quot;</span><span class="p">)</span>
2865                                         <span class="n">settooltip</span><span class="p">(</span><span class="s">&quot;Run the program&quot;</span><span class="p">)</span>
2866                                 <span class="p">}</span> <span class="p">,</span>
2867                                 <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2868                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/close.png&quot;</span><span class="p">)</span>
2869                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pQuit()&quot;</span><span class="p">)</span>
2870                                         <span class="n">settooltip</span><span class="p">(</span><span class="s">&quot;Quit&quot;</span><span class="p">)</span>
2871                                 <span class="p">}</span>
2872                         <span class="o">]</span>
2873
2874                 <span class="n">tool1</span> <span class="o">=</span> <span class="n">addtoolbar</span><span class="p">(</span><span class="s">&quot;files&quot;</span><span class="p">)</span>  <span class="p">{</span>
2875                         <span class="k">for</span> <span class="n">x</span> <span class="k">in</span> <span class="n">aBtns</span> <span class="n">addwidget</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="n">addseparator</span><span class="p">()</span> <span class="k">next</span>
2876                 <span class="p">}</span>
2877
2878                 <span class="n">menu1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qmenubar</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2879                         <span class="n">sub1</span> <span class="o">=</span> <span class="n">addmenu</span><span class="p">(</span><span class="s">&quot;File&quot;</span><span class="p">)</span>
2880                         <span class="n">sub2</span> <span class="o">=</span> <span class="n">addmenu</span><span class="p">(</span><span class="s">&quot;Edit&quot;</span><span class="p">)</span>
2881                         <span class="n">sub3</span> <span class="o">=</span> <span class="n">addmenu</span><span class="p">(</span><span class="s">&quot;View&quot;</span><span class="p">)</span>
2882                         <span class="n">sub4</span> <span class="o">=</span> <span class="n">addmenu</span><span class="p">(</span><span class="s">&quot;Help&quot;</span><span class="p">)</span>
2883                         <span class="n">sub1</span> <span class="p">{</span>
2884                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2885                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+n&quot;</span><span class="p">))</span>
2886                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/new.png&quot;</span><span class="p">)</span>
2887                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;New&quot;</span><span class="p">)</span>
2888                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pNew()&quot;</span><span class="p">)</span>
2889                                 <span class="p">}</span>
2890                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
2891                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2892                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+o&quot;</span><span class="p">))</span>
2893                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/open.png&quot;</span><span class="p">)</span>
2894                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Open&quot;</span><span class="p">)</span>
2895                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pOpen()&quot;</span><span class="p">)</span>
2896                                 <span class="p">}</span>
2897                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
2898                                 <span class="n">addseparator</span><span class="p">()</span>
2899                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2900                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+s&quot;</span><span class="p">))</span>
2901                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/save.png&quot;</span><span class="p">)</span>
2902                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Save&quot;</span><span class="p">)</span>
2903                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pSave()&quot;</span><span class="p">)</span>
2904                                 <span class="p">}</span>
2905                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
2906                                 <span class="n">addseparator</span><span class="p">()</span>
2907                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2908                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+e&quot;</span><span class="p">))</span>
2909                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/saveas.png&quot;</span><span class="p">)</span>
2910                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Save As&quot;</span><span class="p">)</span>
2911                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pSaveAs()&quot;</span><span class="p">)</span>
2912                                 <span class="p">}</span>
2913                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
2914                                 <span class="n">addseparator</span><span class="p">()</span>
2915                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2916                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+p&quot;</span><span class="p">))</span>
2917                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/print.png&quot;</span><span class="p">)</span>
2918                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Print to PDF&quot;</span><span class="p">)</span>
2919                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pPrint()&quot;</span><span class="p">)</span>
2920                                 <span class="p">}</span>
2921                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
2922                                 <span class="n">addseparator</span><span class="p">()</span>
2923                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2924                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+d&quot;</span><span class="p">))</span>
2925                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/debug.png&quot;</span><span class="p">)</span>
2926                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Debug (Run then wait!)&quot;</span><span class="p">)</span>
2927                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pDebug()&quot;</span><span class="p">)</span>
2928                                 <span class="p">}</span>
2929                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
2930                                 <span class="n">addseparator</span><span class="p">()</span>
2931                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2932                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+r&quot;</span><span class="p">))</span>
2933                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/run.png&quot;</span><span class="p">)</span>
2934                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Run&quot;</span><span class="p">)</span>
2935                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pRun()&quot;</span><span class="p">)</span>
2936                                 <span class="p">}</span>
2937                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
2938                                 <span class="n">addseparator</span><span class="p">()</span>
2939                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2940                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+F5&quot;</span><span class="p">))</span>
2941                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/run.png&quot;</span><span class="p">)</span>
2942                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Run GUI Application (No Console)&quot;</span><span class="p">)</span>
2943                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pRunNoConsole()&quot;</span><span class="p">)</span>
2944                                 <span class="p">}</span>
2945                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
2946                                 <span class="n">addseparator</span><span class="p">()</span>
2947                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qaction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2948                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+q&quot;</span><span class="p">))</span>
2949                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/close.png&quot;</span><span class="p">)</span>
2950                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Exit&quot;</span><span class="p">)</span>
2951                                         <span class="n">setstatustip</span><span class="p">(</span><span class="s">&quot;Exit&quot;</span><span class="p">)</span>
2952                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pQuit()&quot;</span><span class="p">)</span>
2953                                 <span class="p">}</span>
2954                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
2955                         <span class="p">}</span>
2956                         <span class="n">sub2</span> <span class="p">{</span>
2957                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2958                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+x&quot;</span><span class="p">))</span>
2959                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/cut.png&quot;</span><span class="p">)</span>
2960                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Cut&quot;</span><span class="p">)</span>
2961                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pCut()&quot;</span><span class="p">)</span>
2962                                 <span class="p">}</span>
2963                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
2964                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2965                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+c&quot;</span><span class="p">))</span>
2966                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/copy.png&quot;</span><span class="p">)</span>
2967                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Copy&quot;</span><span class="p">)</span>
2968                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pCopy()&quot;</span><span class="p">)</span>
2969                                 <span class="p">}</span>
2970                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
2971                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2972                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+v&quot;</span><span class="p">))</span>
2973                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/paste.png&quot;</span><span class="p">)</span>
2974                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Paste&quot;</span><span class="p">)</span>
2975                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pPaste()&quot;</span><span class="p">)</span>
2976                                 <span class="p">}</span>
2977                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
2978                                 <span class="n">addseparator</span><span class="p">()</span>
2979                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2980                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+i&quot;</span><span class="p">))</span>
2981                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/font.png&quot;</span><span class="p">)</span>
2982                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Font&quot;</span><span class="p">)</span>
2983                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pFont()&quot;</span><span class="p">)</span>
2984                                 <span class="p">}</span>
2985                                 <span class="n">addseparator</span><span class="p">()</span>
2986                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
2987                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2988                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+t&quot;</span><span class="p">))</span>
2989                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/colors.jpg&quot;</span><span class="p">)</span>
2990                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Text Color&quot;</span><span class="p">)</span>
2991                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pColor()&quot;</span><span class="p">)</span>
2992                                 <span class="p">}</span>
2993                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
2994                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
2995                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+b&quot;</span><span class="p">))</span>
2996                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/colors.jpg&quot;</span><span class="p">)</span>
2997                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Back Color&quot;</span><span class="p">)</span>
2998                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pColor2()&quot;</span><span class="p">)</span>
2999                                 <span class="p">}</span>
3000                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
3001                                 <span class="n">addseparator</span><span class="p">()</span>
3002                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3003                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+g&quot;</span><span class="p">))</span>
3004                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Go to line&quot;</span><span class="p">)</span>
3005                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pGoto()&quot;</span><span class="p">)</span>
3006                                 <span class="p">}</span>
3007                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
3008                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3009                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+f&quot;</span><span class="p">))</span>
3010                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/search.png&quot;</span><span class="p">)</span>
3011                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Find and Replace&quot;</span><span class="p">)</span>
3012                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pFind()&quot;</span><span class="p">)</span>
3013                                 <span class="p">}</span>
3014                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
3015                         <span class="p">}</span>
3016                         <span class="n">sub3</span> <span class="p">{</span>
3017                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3018                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+p&quot;</span><span class="p">))</span>
3019                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/project.png&quot;</span><span class="p">)</span>
3020                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Project Files&quot;</span><span class="p">)</span>
3021                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pProject()&quot;</span><span class="p">)</span>
3022                                 <span class="p">}</span>
3023                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
3024                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3025                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+u&quot;</span><span class="p">))</span>
3026                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/source.png&quot;</span><span class="p">)</span>
3027                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pSourceCode()&quot;</span><span class="p">)</span>
3028                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Source Code&quot;</span><span class="p">)</span>
3029                                 <span class="p">}</span>
3030                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
3031                                 <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3032                                         <span class="n">setShortcut</span><span class="p">(</span><span class="k">new</span> <span class="n">QKeySequence</span><span class="p">(</span><span class="s">&quot;Ctrl+w&quot;</span><span class="p">))</span>
3033                                         <span class="n">setbtnimage</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/richtext.png&quot;</span><span class="p">)</span>
3034                                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pWebBrowser()&quot;</span><span class="p">)</span>
3035                                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Web Browser&quot;</span><span class="p">)</span>
3036                                 <span class="p">}</span>
3037                                 <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
3038                         <span class="p">}</span>
3039                         <span class="n">sub4</span> <span class="p">{</span>
3040                                 <span class="n">sub5</span> <span class="o">=</span> <span class="n">addmenu</span><span class="p">(</span><span class="s">&quot;Development Tools&quot;</span><span class="p">)</span>
3041                                 <span class="n">sub5</span> <span class="p">{</span>
3042
3043                                         <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3044                                                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Programming Language&quot;</span><span class="p">)</span>
3045                                                 <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pLang()&quot;</span><span class="p">)</span>
3046                                         <span class="p">}</span>
3047                                         <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
3048                                         <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3049                                                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;GUI Library&quot;</span><span class="p">)</span>
3050                                                 <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pGUI()&quot;</span><span class="p">)</span>
3051                                         <span class="p">}</span>
3052                                         <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
3053                                 <span class="p">}</span>
3054                                 <span class="n">addseparator</span><span class="p">()</span>
3055                                         <span class="n">oAction</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qAction</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3056                                                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;About&quot;</span><span class="p">)</span>
3057                                                 <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pAbout()&quot;</span><span class="p">)</span>
3058                                         <span class="p">}</span>
3059                                         <span class="n">addaction</span><span class="p">(</span><span class="n">oAction</span><span class="p">)</span>
3060                         <span class="p">}</span>
3061                 <span class="p">}</span>
3062
3063                 <span class="n">setmenubar</span><span class="p">(</span><span class="n">menu1</span><span class="p">)</span>
3064
3065                 <span class="n">status1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qstatusbar</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3066                         <span class="n">showmessage</span><span class="p">(</span><span class="s">&quot;Ready!&quot;</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
3067                 <span class="p">}</span>
3068
3069                 <span class="n">setstatusbar</span><span class="p">(</span><span class="n">status1</span><span class="p">)</span>
3070
3071                 <span class="n">tree1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qtreeview</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3072                         <span class="n">setclickedevent</span><span class="p">(</span><span class="s">&quot;pChangeFile()&quot;</span><span class="p">)</span>
3073                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">00</span><span class="p">,</span><span class="mi">00</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
3074                         <span class="n">oDir</span> <span class="o">=</span> <span class="k">new</span> <span class="n">QDir</span><span class="p">()</span>
3075                         <span class="n">ofile</span> <span class="o">=</span> <span class="k">new</span> <span class="n">QFileSystemModel</span><span class="p">()</span> <span class="p">{</span>
3076                                 <span class="n">setrootpath</span><span class="p">(</span><span class="n">oDir</span><span class="p">.</span><span class="n">currentpath</span><span class="p">())</span>
3077                                 <span class="n">myfiles</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qstringlist</span><span class="p">()</span>
3078                                 <span class="n">myfiles</span><span class="p">.</span><span class="n">append</span><span class="p">(</span><span class="s">&quot;*.ring&quot;</span><span class="p">)</span>
3079                                 <span class="n">myfiles</span><span class="p">.</span><span class="n">append</span><span class="p">(</span><span class="s">&quot;*.rh&quot;</span><span class="p">)</span>
3080                                 <span class="n">setnamefilters</span><span class="p">(</span><span class="n">myfiles</span><span class="p">)</span>
3081                                 <span class="n">setNameFilterDisables</span><span class="p">(</span><span class="kp">false</span><span class="p">)</span>
3082                         <span class="p">}</span>
3083                         <span class="n">setmodel</span><span class="p">(</span><span class="n">ofile</span><span class="p">)</span>
3084                         <span class="n">myindex</span> <span class="o">=</span> <span class="n">ofile</span><span class="p">.</span><span class="n">index</span><span class="p">(</span><span class="n">oDir</span><span class="p">.</span><span class="n">currentpath</span><span class="p">(),</span><span class="mi">0</span><span class="p">)</span>
3085                         <span class="k">for</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">1</span> <span class="k">to</span> <span class="n">ofile</span><span class="p">.</span><span class="n">columncount</span><span class="p">()</span>
3086                                 <span class="n">hidecolumn</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
3087                         <span class="k">next</span>
3088                         <span class="n">setcurrentindex</span><span class="p">(</span><span class="n">myindex</span><span class="p">)</span>
3089                         <span class="n">setexpanded</span><span class="p">(</span><span class="n">myindex</span><span class="p">,</span><span class="kp">true</span><span class="p">)</span>
3090                         <span class="n">header</span><span class="p">().</span><span class="n">hide</span><span class="p">()</span>
3091                 <span class="p">}</span>
3092
3093                 <span class="n">oDock1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qdockwidget</span><span class="p">(</span><span class="n">win1</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
3094                         <span class="n">setGeometry</span><span class="p">(</span><span class="mi">00</span><span class="p">,</span><span class="mi">00</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">200</span><span class="p">)</span>
3095                         <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Project Files&quot;</span><span class="p">)</span>
3096                         <span class="n">setwidget</span><span class="p">(</span><span class="n">tree1</span><span class="p">)</span>
3097                 <span class="p">}</span>
3098
3099                 <span class="n">textedit1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qtextedit</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3100                         <span class="n">setCursorPositionChangedevent</span><span class="p">(</span><span class="s">&quot;pCursorPositionChanged()&quot;</span><span class="p">)</span>
3101                         <span class="n">setLineWrapMode</span><span class="p">(</span><span class="n">QTextEdit_NoWrap</span><span class="p">)</span>
3102                         <span class="n">setAcceptRichText</span><span class="p">(</span><span class="kp">false</span><span class="p">)</span>
3103                         <span class="n">setTextChangedEvent</span><span class="p">(</span><span class="s">&quot;lAskToSave = true&quot;</span><span class="p">)</span>
3104                 <span class="p">}</span>
3105
3106
3107                 <span class="n">oDock2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qdockwidget</span><span class="p">(</span><span class="n">win1</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
3108                         <span class="n">setwidget</span><span class="p">(</span><span class="n">textedit1</span><span class="p">)</span>
3109                         <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Source Code&quot;</span><span class="p">)</span>
3110                 <span class="p">}</span>
3111
3112                 <span class="n">oWebBrowser</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span> <span class="p">{</span>
3113                         <span class="n">setWindowFlags</span><span class="p">(</span><span class="n">Qt_SubWindow</span><span class="p">)</span>
3114                         <span class="n">oWBLabel</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qLabel</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3115                                 <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Website: &quot;</span><span class="p">)</span>
3116                         <span class="p">}</span>
3117                         <span class="n">oWBText</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qLineEdit</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3118                                 <span class="n">setText</span><span class="p">(</span><span class="n">cWebSite</span><span class="p">)</span>
3119                                 <span class="n">setReturnPressedEvent</span><span class="p">(</span><span class="s">&quot;pWebGo()&quot;</span><span class="p">)</span>
3120                         <span class="p">}</span>
3121                         <span class="n">oWBGo</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qPushButton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3122                                 <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Go&quot;</span><span class="p">)</span>
3123                                 <span class="n">setClickEvent</span><span class="p">(</span><span class="s">&quot;pWebGo()&quot;</span><span class="p">)</span>
3124                         <span class="p">}</span>
3125                         <span class="n">oWBBack</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qPushButton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3126                                 <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Back&quot;</span><span class="p">)</span>
3127                                 <span class="n">setClickEvent</span><span class="p">(</span><span class="s">&quot;pWebBack()&quot;</span><span class="p">)</span>
3128                         <span class="p">}</span>
3129                         <span class="n">oWBLayout1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qHBoxLayout</span><span class="p">()</span> <span class="p">{</span>
3130                                 <span class="n">addWidget</span><span class="p">(</span><span class="n">oWBLabel</span><span class="p">)</span>
3131                                 <span class="n">addWidget</span><span class="p">(</span><span class="n">oWBText</span><span class="p">)</span>
3132                                 <span class="n">addWidget</span><span class="p">(</span><span class="n">oWBGo</span><span class="p">)</span>
3133                                 <span class="n">addWidget</span><span class="p">(</span><span class="n">oWBBack</span><span class="p">)</span>
3134                         <span class="p">}</span>
3135                         <span class="n">oWebView</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWebView</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3136                                 <span class="n">loadpage</span><span class="p">(</span><span class="k">new</span> <span class="n">qurl</span><span class="p">(</span><span class="n">cWebSite</span><span class="p">))</span>
3137                         <span class="p">}</span>
3138                         <span class="n">oWBlayout2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qVBoxLayout</span><span class="p">()</span> <span class="p">{</span>
3139                                 <span class="n">addLayout</span><span class="p">(</span><span class="n">oWBLayout1</span><span class="p">)</span>
3140                                 <span class="n">addWidget</span><span class="p">(</span><span class="n">oWebView</span><span class="p">)</span>
3141                         <span class="p">}</span>
3142                         <span class="n">setLayout</span><span class="p">(</span><span class="n">oWBLayout2</span><span class="p">)</span>
3143                 <span class="p">}</span>
3144
3145                 <span class="n">oDock3</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qdockwidget</span><span class="p">(</span><span class="n">win1</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
3146                         <span class="n">setwidget</span><span class="p">(</span><span class="n">oWebBrowser</span><span class="p">)</span>
3147                         <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Web Browser&quot;</span><span class="p">)</span>
3148                         <span class="n">setFeatures</span><span class="p">(</span><span class="n">QDockWidget_DocWidgetClosable</span><span class="p">)</span>
3149                 <span class="p">}</span>
3150
3151                 <span class="n">adddockwidget</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="n">oDock1</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
3152                 <span class="n">adddockwidget</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="n">oDock2</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span>
3153                 <span class="n">adddockwidget</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="n">oDock3</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
3154
3155                 <span class="n">setwinicon</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="s">&quot;image/notepad.png&quot;</span><span class="p">)</span>
3156
3157                 <span class="n">showmaximized</span><span class="p">()</span>
3158         <span class="p">}</span>
3159         <span class="n">RestoreSettings</span><span class="p">()</span>
3160         <span class="n">exec</span><span class="p">()</span>
3161 <span class="p">}</span>
3162
3163 <span class="k">func</span> <span class="n">pWebGo</span>
3164         <span class="n">cWebsite</span> <span class="o">=</span> <span class="n">oWBText</span><span class="p">.</span><span class="n">text</span><span class="p">()</span>
3165         <span class="n">oWebView</span><span class="p">.</span><span class="n">LoadPage</span><span class="p">(</span> <span class="k">new</span> <span class="n">qurl</span><span class="p">(</span> <span class="n">cWebSite</span> <span class="p">)</span> <span class="p">)</span>
3166
3167 <span class="k">func</span> <span class="n">pWebBack</span>
3168         <span class="n">oWebView</span><span class="p">.</span><span class="n">Back</span><span class="p">()</span>
3169
3170 <span class="k">func</span> <span class="n">pProject</span>
3171         <span class="n">oDock1</span><span class="p">.</span><span class="n">Show</span><span class="p">()</span>
3172
3173 <span class="k">func</span> <span class="n">pSourceCode</span>
3174         <span class="n">oDock2</span><span class="p">.</span><span class="n">Show</span><span class="p">()</span>
3175
3176 <span class="k">func</span> <span class="n">pWebBrowser</span>
3177         <span class="n">oDock3</span><span class="p">.</span><span class="n">Show</span><span class="p">()</span>
3178
3179 <span class="k">func</span> <span class="n">pChangeFile</span>
3180         <span class="n">myitem</span> <span class="o">=</span> <span class="n">tree1</span><span class="p">.</span><span class="n">currentindex</span><span class="p">()</span>
3181         <span class="k">if</span> <span class="n">ofile</span><span class="p">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">myitem</span><span class="p">)</span>
3182                 <span class="k">return</span>
3183         <span class="k">ok</span>
3184         <span class="n">cActiveFileName</span> <span class="o">=</span> <span class="n">ofile</span><span class="p">.</span><span class="n">filepath</span><span class="p">(</span><span class="n">myitem</span><span class="p">)</span>
3185         <span class="n">textedit1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="n">read</span><span class="p">(</span><span class="n">cActiveFileName</span><span class="p">))</span>
3186         <span class="n">textedit1</span><span class="p">.</span><span class="n">setfocus</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
3187         <span class="n">pCursorPositionChanged</span><span class="p">()</span>
3188         <span class="n">pSetActiveFileName</span><span class="p">()</span>
3189
3190 <span class="k">func</span> <span class="n">pSetActiveFileName</span>
3191         <span class="n">oDock2</span><span class="p">.</span><span class="n">setWindowTitle</span><span class="p">(</span><span class="s">&quot;Source Code : &quot;</span> <span class="o">+</span> <span class="n">cActiveFileName</span><span class="p">)</span>
3192
3193 <span class="k">func</span> <span class="n">pCursorPositionChanged</span>
3194         <span class="n">status1</span><span class="p">.</span><span class="n">showmessage</span><span class="p">(</span><span class="s">&quot; Line : &quot;</span><span class="o">+</span><span class="p">(</span><span class="n">textedit1</span><span class="p">.</span><span class="n">textcursor</span><span class="p">().</span><span class="n">blocknumber</span><span class="p">()</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">+</span>
3195                         <span class="s">&quot; Column : &quot;</span> <span class="o">+</span><span class="p">(</span><span class="n">textedit1</span><span class="p">.</span><span class="n">textcursor</span><span class="p">().</span><span class="n">columnnumber</span><span class="p">()</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="o">+</span>
3196                         <span class="s">&quot; Total Lines : &quot;</span> <span class="o">+</span> <span class="n">textedit1</span><span class="p">.</span><span class="n">document</span><span class="p">().</span><span class="n">linecount</span><span class="p">()</span> <span class="p">,</span><span class="mi">0</span><span class="p">)</span>
3197
3198 <span class="k">func</span> <span class="n">pGoto</span>
3199         <span class="n">oInput</span> <span class="o">=</span> <span class="k">New</span> <span class="n">QInputDialog</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
3200         <span class="p">{</span>
3201                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Enter the line number?&quot;</span><span class="p">)</span>
3202                 <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">50</span><span class="p">)</span>
3203                 <span class="n">setlabeltext</span><span class="p">(</span><span class="s">&quot;Line&quot;</span><span class="p">)</span>
3204                 <span class="n">settextvalue</span><span class="p">(</span><span class="s">&quot;1&quot;</span><span class="p">)</span>
3205                 <span class="n">exec</span><span class="p">()</span>
3206                 <span class="n">nLine</span> <span class="o">=</span> <span class="mi">0</span> <span class="o">+</span> <span class="n">oInput</span><span class="p">.</span><span class="n">textvalue</span><span class="p">()</span>
3207                 <span class="n">oBlock</span> <span class="o">=</span> <span class="n">textedit1</span><span class="p">.</span><span class="n">document</span><span class="p">().</span><span class="n">findBlockByLineNumber</span><span class="p">(</span><span class="n">nLine</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span>
3208                 <span class="n">oCursor</span> <span class="o">=</span> <span class="n">textedit1</span><span class="p">.</span><span class="n">textcursor</span><span class="p">()</span>
3209                 <span class="n">oCursor</span><span class="p">.</span><span class="n">setposition</span><span class="p">(</span><span class="n">oBlock</span><span class="p">.</span><span class="n">position</span><span class="p">(),</span><span class="mi">0</span><span class="p">)</span>
3210                 <span class="n">textedit1</span><span class="p">.</span><span class="n">settextcursor</span><span class="p">(</span><span class="n">oCursor</span><span class="p">)</span>
3211         <span class="p">}</span>
3212
3213 <span class="k">func</span> <span class="n">pFind</span>
3214         <span class="k">if</span> <span class="n">isobject</span><span class="p">(</span><span class="n">oSearch</span><span class="p">)</span>
3215                 <span class="n">oSearch</span><span class="p">.</span><span class="n">activatewindow</span><span class="p">()</span>
3216                 <span class="k">return</span>
3217         <span class="k">ok</span>
3218         <span class="n">oSearch</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span>
3219         <span class="p">{</span>
3220                 <span class="k">new</span> <span class="n">qLabel</span><span class="p">(</span><span class="n">oSearch</span><span class="p">)</span>
3221                 <span class="p">{</span>
3222                         <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Find What : &quot;</span><span class="p">)</span>
3223                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
3224                 <span class="p">}</span>
3225                 <span class="n">oSearchValue</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlineedit</span><span class="p">(</span><span class="n">oSearch</span><span class="p">)</span>
3226                 <span class="p">{</span>
3227                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">80</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="mi">460</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
3228                         <span class="n">setReturnPressedEvent</span><span class="p">(</span><span class="s">&quot;pFindValue()&quot;</span><span class="p">)</span>
3229                 <span class="p">}</span>
3230                 <span class="k">new</span> <span class="n">qLabel</span><span class="p">(</span><span class="n">oSearch</span><span class="p">)</span>
3231                 <span class="p">{</span>
3232                         <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Replace with &quot;</span><span class="p">)</span>
3233                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">45</span><span class="p">,</span><span class="mi">80</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
3234                 <span class="p">}</span>
3235                 <span class="n">oReplaceValue</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlineedit</span><span class="p">(</span><span class="n">oSearch</span><span class="p">)</span>
3236                 <span class="p">{</span>
3237                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">80</span><span class="p">,</span><span class="mi">45</span><span class="p">,</span><span class="mi">460</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
3238                 <span class="p">}</span>
3239                 <span class="n">oSearchCase</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qCheckbox</span><span class="p">(</span><span class="n">oSearch</span><span class="p">)</span>
3240                 <span class="p">{</span>
3241                         <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Case Sensitive&quot;</span><span class="p">)</span>
3242                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">80</span><span class="p">,</span><span class="mi">85</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
3243                 <span class="p">}</span>
3244                 <span class="k">new</span> <span class="n">qPushButton</span><span class="p">(</span><span class="n">oSearch</span><span class="p">)</span>
3245                 <span class="p">{</span>
3246                         <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Find/Find Next&quot;</span><span class="p">)</span>
3247                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">80</span><span class="p">,</span><span class="mi">120</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
3248                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pFindValue()&quot;</span><span class="p">)</span>
3249                 <span class="p">}</span>
3250                 <span class="k">new</span> <span class="n">qPushButton</span><span class="p">(</span><span class="n">oSearch</span><span class="p">)</span>
3251                 <span class="p">{</span>
3252                         <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Replace&quot;</span><span class="p">)</span>
3253                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">200</span><span class="p">,</span><span class="mi">120</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
3254                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pReplace()&quot;</span><span class="p">)</span>
3255                 <span class="p">}</span>
3256                 <span class="k">new</span> <span class="n">qPushButton</span><span class="p">(</span><span class="n">oSearch</span><span class="p">)</span>
3257                 <span class="p">{</span>
3258                         <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Replace All&quot;</span><span class="p">)</span>
3259                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">320</span><span class="p">,</span><span class="mi">120</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
3260                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pReplaceAll()&quot;</span><span class="p">)</span>
3261                 <span class="p">}</span>
3262                 <span class="k">new</span> <span class="n">qPushButton</span><span class="p">(</span><span class="n">oSearch</span><span class="p">)</span>
3263                 <span class="p">{</span>
3264                         <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Close&quot;</span><span class="p">)</span>
3265                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">440</span><span class="p">,</span><span class="mi">120</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
3266                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;pSearchClose()&quot;</span><span class="p">)</span>
3267                 <span class="p">}</span>
3268
3269                 <span class="n">setwinicon</span><span class="p">(</span><span class="n">oSearch</span><span class="p">,</span><span class="s">&quot;image/notepad.png&quot;</span><span class="p">)</span>
3270                 <span class="n">setWindowTitle</span><span class="p">(</span><span class="s">&quot;Find/Replace&quot;</span><span class="p">)</span>
3271                 <span class="n">setStyleSheet</span><span class="p">(</span><span class="s">&quot;background-color:white;&quot;</span><span class="p">)</span>
3272                 <span class="n">setFixedsize</span><span class="p">(</span><span class="mi">550</span><span class="p">,</span><span class="mi">160</span><span class="p">)</span>
3273                 <span class="n">setwindowflags</span><span class="p">(</span> <span class="n">Qt_CustomizeWindowHint</span> <span class="o">|</span>
3274                                 <span class="n">Qt_WindowTitleHint</span> <span class="o">|</span> <span class="n">Qt_WindowStaysOnTopHint</span><span class="p">)</span>
3275
3276                 <span class="n">oSearchFilter</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qallevents</span><span class="p">(</span><span class="n">oSearch</span><span class="p">)</span>
3277                 <span class="n">oSearchFilter</span><span class="p">.</span><span class="n">setKeyPressEvent</span><span class="p">(</span><span class="s">&quot;pSearchKeyPress()&quot;</span><span class="p">)</span>
3278                 <span class="n">installeventfilter</span><span class="p">(</span><span class="n">oSearchFilter</span><span class="p">)</span>
3279
3280                 <span class="n">show</span><span class="p">()</span>
3281         <span class="p">}</span>
3282
3283 <span class="k">Func</span> <span class="n">pReplace</span>
3284         <span class="n">oCursor</span> <span class="o">=</span> <span class="n">textedit1</span><span class="p">.</span><span class="n">textCursor</span><span class="p">()</span>
3285         <span class="k">if</span> <span class="n">oCursor</span><span class="p">.</span><span class="n">HasSelection</span><span class="p">()</span> <span class="o">=</span> <span class="kp">false</span>
3286                 <span class="k">new</span> <span class="n">qMessagebox</span><span class="p">(</span><span class="n">oSearch</span><span class="p">)</span>
3287                 <span class="p">{</span>
3288                         <span class="n">SetWindowTitle</span><span class="p">(</span><span class="s">&quot;Replace&quot;</span><span class="p">)</span>
3289                         <span class="n">SetText</span><span class="p">(</span><span class="s">&quot;No Selection&quot;</span><span class="p">)</span>
3290                         <span class="n">show</span><span class="p">()</span>
3291                 <span class="p">}</span>
3292                 <span class="k">return</span> <span class="kp">false</span>
3293         <span class="k">ok</span>
3294         <span class="n">cValue</span> <span class="o">=</span> <span class="n">oSearchValue</span><span class="p">.</span><span class="n">text</span><span class="p">()</span>
3295         <span class="n">cSelected</span> <span class="o">=</span> <span class="n">oCursor</span><span class="p">.</span><span class="n">SelectedText</span><span class="p">()</span>
3296         <span class="k">if</span> <span class="n">oSearchCase</span><span class="p">.</span><span class="n">checkState</span><span class="p">()</span> <span class="o">=</span> <span class="n">Qt_Unchecked</span>
3297                 <span class="n">cValue</span> <span class="o">=</span> <span class="n">lower</span><span class="p">(</span><span class="n">cValue</span><span class="p">)</span>
3298                 <span class="n">cSelected</span> <span class="o">=</span> <span class="n">lower</span><span class="p">(</span><span class="n">cSelected</span><span class="p">)</span>
3299         <span class="k">ok</span>
3300         <span class="k">if</span> <span class="n">cSelected</span> <span class="o">!=</span> <span class="n">cValue</span>
3301                 <span class="k">new</span> <span class="n">qMessagebox</span><span class="p">(</span><span class="n">oSearch</span><span class="p">)</span>
3302                 <span class="p">{</span>
3303                         <span class="n">SetWindowTitle</span><span class="p">(</span><span class="s">&quot;Replace&quot;</span><span class="p">)</span>
3304                         <span class="n">SetText</span><span class="p">(</span><span class="s">&quot;No Match&quot;</span><span class="p">)</span>
3305                         <span class="n">show</span><span class="p">()</span>
3306                 <span class="p">}</span>
3307                 <span class="k">return</span> <span class="kp">false</span>
3308         <span class="k">ok</span>
3309         <span class="n">cValue</span> <span class="o">=</span> <span class="n">oReplaceValue</span><span class="p">.</span><span class="n">text</span><span class="p">()</span>
3310         <span class="n">nStart</span> <span class="o">=</span> <span class="n">oCursor</span><span class="p">.</span><span class="n">SelectionStart</span><span class="p">()</span>
3311         <span class="n">nEnd</span> <span class="o">=</span> <span class="n">oCursor</span><span class="p">.</span><span class="n">SelectionEnd</span><span class="p">()</span>
3312         <span class="n">cStr</span> <span class="o">=</span> <span class="n">textedit1</span><span class="p">.</span><span class="n">toPlainText</span><span class="p">()</span>
3313         <span class="n">cStr</span> <span class="o">=</span> <span class="n">left</span><span class="p">(</span><span class="n">cStr</span><span class="p">,</span><span class="n">nStart</span><span class="p">)</span><span class="o">+</span><span class="n">cValue</span><span class="o">+</span><span class="n">substr</span><span class="p">(</span><span class="n">cStr</span><span class="p">,</span><span class="n">nEnd</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span>
3314         <span class="n">textedit1</span><span class="p">.</span><span class="n">setText</span><span class="p">(</span><span class="n">cStr</span><span class="p">)</span>
3315         <span class="k">return</span> <span class="n">pFindValue</span><span class="p">()</span>
3316
3317 <span class="k">Func</span> <span class="n">pReplaceAll</span>
3318         <span class="n">cStr</span> <span class="o">=</span> <span class="n">textedit1</span><span class="p">.</span><span class="n">toPlainText</span><span class="p">()</span>
3319         <span class="n">cOldValue</span> <span class="o">=</span> <span class="n">oSearchValue</span><span class="p">.</span><span class="n">text</span><span class="p">()</span>
3320         <span class="n">cNewValue</span> <span class="o">=</span> <span class="n">oReplaceValue</span><span class="p">.</span><span class="n">text</span><span class="p">()</span>
3321         <span class="k">if</span> <span class="n">oSearchCase</span><span class="p">.</span><span class="n">checkState</span><span class="p">()</span> <span class="o">=</span> <span class="n">Qt_Unchecked</span>
3322                 <span class="c"># 英数大小文字非同一視</span>
3323                 <span class="n">cStr</span> <span class="o">=</span> <span class="n">SubStr</span><span class="p">(</span><span class="n">cStr</span><span class="p">,</span><span class="n">cOldValue</span><span class="p">,</span><span class="n">cNewValue</span><span class="p">,</span><span class="kp">true</span><span class="p">)</span>
3324         <span class="k">else</span>
3325                 <span class="c"># 英数大小文字同一視</span>
3326                 <span class="n">cStr</span> <span class="o">=</span> <span class="n">SubStr</span><span class="p">(</span><span class="n">cStr</span><span class="p">,</span><span class="n">cOldValue</span><span class="p">,</span><span class="n">cNewValue</span><span class="p">)</span>
3327         <span class="k">ok</span>
3328         <span class="n">textedit1</span><span class="p">.</span><span class="n">setText</span><span class="p">(</span><span class="n">cStr</span><span class="p">)</span>
3329         <span class="k">new</span> <span class="n">qMessagebox</span><span class="p">(</span><span class="n">oSearch</span><span class="p">)</span>
3330         <span class="p">{</span>
3331                 <span class="n">SetWindowTitle</span><span class="p">(</span><span class="s">&quot;Replace All&quot;</span><span class="p">)</span>
3332                 <span class="n">SetText</span><span class="p">(</span><span class="s">&quot;Operation Done&quot;</span><span class="p">)</span>
3333                 <span class="n">show</span><span class="p">()</span>
3334         <span class="p">}</span>
3335
3336 <span class="k">Func</span> <span class="n">pSearchClose</span>
3337         <span class="n">oSearch</span><span class="p">.</span><span class="n">close</span><span class="p">()</span>
3338         <span class="n">oSearch</span> <span class="o">=</span> <span class="kp">NULL</span>
3339
3340 <span class="k">func</span> <span class="n">pSearchKeyPress</span>
3341         <span class="k">if</span> <span class="n">oSearchFilter</span><span class="p">.</span><span class="n">getKeyCode</span><span class="p">()</span> <span class="o">=</span> <span class="n">Qt_Key_Escape</span>
3342                 <span class="n">pSearchClose</span><span class="p">()</span>
3343         <span class="k">ok</span>
3344
3345 <span class="k">func</span> <span class="n">pFindValue</span>
3346         <span class="n">oCursor</span> <span class="o">=</span> <span class="n">textedit1</span><span class="p">.</span><span class="n">textcursor</span><span class="p">()</span>
3347         <span class="n">nPosStart</span> <span class="o">=</span> <span class="n">oCursor</span><span class="p">.</span><span class="n">Position</span><span class="p">()</span> <span class="o">+</span> <span class="mi">1</span>
3348         <span class="n">cValue</span> <span class="o">=</span> <span class="n">oSearchValue</span><span class="p">.</span><span class="n">text</span><span class="p">()</span>
3349         <span class="n">cStr</span> <span class="o">=</span> <span class="n">textedit1</span><span class="p">.</span><span class="n">toplaintext</span><span class="p">()</span>
3350         <span class="n">cStr</span> <span class="o">=</span> <span class="n">substr</span><span class="p">(</span><span class="n">cStr</span><span class="p">,</span><span class="n">nPosStart</span><span class="p">)</span>
3351         <span class="k">if</span> <span class="n">oSearchCase</span><span class="p">.</span><span class="n">checkState</span><span class="p">()</span> <span class="o">=</span> <span class="n">Qt_Unchecked</span>
3352                 <span class="n">cStr</span> <span class="o">=</span> <span class="n">lower</span><span class="p">(</span><span class="n">cStr</span><span class="p">)</span>  <span class="n">cValue</span> <span class="o">=</span> <span class="n">lower</span><span class="p">(</span><span class="n">cValue</span><span class="p">)</span>
3353         <span class="k">ok</span>
3354         <span class="n">nPos</span> <span class="o">=</span> <span class="n">substr</span><span class="p">(</span><span class="n">cStr</span><span class="p">,</span><span class="n">cValue</span><span class="p">)</span>
3355         <span class="k">if</span> <span class="n">nPos</span> <span class="o">&gt;</span> <span class="mi">0</span>
3356                 <span class="n">nPos</span> <span class="o">+=</span> <span class="n">nPosStart</span> <span class="o">-</span> <span class="mi">2</span>
3357                 <span class="n">oCursor</span> <span class="o">=</span> <span class="n">textedit1</span><span class="p">.</span><span class="n">textcursor</span><span class="p">()</span>
3358                 <span class="n">oCursor</span><span class="p">.</span><span class="n">setposition</span><span class="p">(</span><span class="n">nPos</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
3359                 <span class="n">textedit1</span><span class="p">.</span><span class="n">settextcursor</span><span class="p">(</span><span class="n">oCursor</span><span class="p">)</span>
3360                 <span class="n">oCursor</span> <span class="o">=</span> <span class="n">textedit1</span><span class="p">.</span><span class="n">textcursor</span><span class="p">()</span>
3361                 <span class="n">oCursor</span><span class="p">.</span><span class="n">setposition</span><span class="p">(</span><span class="n">nPos</span><span class="o">+</span><span class="n">len</span><span class="p">(</span><span class="n">cValue</span><span class="p">),</span><span class="mi">1</span><span class="p">)</span>
3362                 <span class="n">textedit1</span><span class="p">.</span><span class="n">settextcursor</span><span class="p">(</span><span class="n">oCursor</span><span class="p">)</span>
3363                 <span class="k">return</span> <span class="kp">true</span>
3364         <span class="k">else</span>
3365                 <span class="k">new</span> <span class="n">qMessagebox</span><span class="p">(</span><span class="n">oSearch</span><span class="p">)</span>
3366                 <span class="p">{</span>
3367                         <span class="n">SetWindowTitle</span><span class="p">(</span><span class="s">&quot;Search&quot;</span><span class="p">)</span>
3368                         <span class="n">SetText</span><span class="p">(</span><span class="s">&quot;Cannot find :&quot;</span> <span class="o">+</span> <span class="n">cValue</span><span class="p">)</span>
3369                         <span class="n">show</span><span class="p">()</span>
3370                 <span class="p">}</span>
3371                 <span class="k">return</span> <span class="kp">false</span>
3372         <span class="k">ok</span>
3373
3374 <span class="k">func</span> <span class="n">pNofileopened</span>
3375         <span class="k">New</span> <span class="n">qMessageBox</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3376                 <span class="n">setWindowTitle</span><span class="p">(</span><span class="s">&quot;Sorry&quot;</span><span class="p">)</span>
3377                 <span class="n">setText</span><span class="p">(</span><span class="s">&quot;Save the file first!&quot;</span><span class="p">)</span>
3378                 <span class="n">show</span><span class="p">()</span>
3379         <span class="p">}</span>
3380
3381 <span class="k">func</span> <span class="n">pDebug</span>
3382         <span class="k">if</span> <span class="n">cActiveFileName</span> <span class="o">=</span> <span class="kp">Null</span> <span class="k">return</span> <span class="n">pNofileopened</span><span class="p">()</span> <span class="k">ok</span>
3383         <span class="n">cCode</span> <span class="o">=</span> <span class="s">&quot;start run &quot;</span> <span class="o">+</span> <span class="n">cActiveFileName</span> <span class="o">+</span> <span class="n">nl</span>
3384         <span class="n">system</span><span class="p">(</span><span class="n">cCode</span><span class="p">)</span>
3385
3386 <span class="k">func</span> <span class="n">pRun</span>
3387         <span class="k">if</span> <span class="n">cActiveFileName</span> <span class="o">=</span> <span class="kp">Null</span> <span class="k">return</span> <span class="n">pNofileopened</span><span class="p">()</span> <span class="k">ok</span>
3388         <span class="n">cCode</span> <span class="o">=</span> <span class="s">&quot;start ring &quot;</span> <span class="o">+</span> <span class="n">cActiveFileName</span> <span class="o">+</span> <span class="n">nl</span>
3389         <span class="n">system</span><span class="p">(</span><span class="n">cCode</span><span class="p">)</span>
3390
3391 <span class="k">func</span> <span class="n">pRunNoConsole</span>
3392         <span class="k">if</span> <span class="n">cActiveFileName</span> <span class="o">=</span> <span class="kp">Null</span> <span class="k">return</span> <span class="n">pNofileopened</span><span class="p">()</span> <span class="k">ok</span>
3393         <span class="n">cCode</span> <span class="o">=</span> <span class="s">&quot;start /b ring &quot;</span> <span class="o">+</span> <span class="n">cActiveFileName</span> <span class="o">+</span> <span class="n">nl</span>
3394         <span class="n">system</span><span class="p">(</span><span class="n">cCode</span><span class="p">)</span>
3395
3396 <span class="k">func</span> <span class="n">pSave</span>
3397         <span class="k">if</span> <span class="n">cActiveFileName</span> <span class="o">=</span> <span class="kp">NULL</span> <span class="k">return</span> <span class="n">pSaveAs</span><span class="p">()</span> <span class="k">ok</span>
3398         <span class="n">writefile</span><span class="p">(</span><span class="n">cActiveFileName</span><span class="p">,</span><span class="n">textedit1</span><span class="p">.</span><span class="n">toplaintext</span><span class="p">())</span>
3399         <span class="n">status1</span><span class="p">.</span><span class="n">showmessage</span><span class="p">(</span><span class="s">&quot;File : &quot;</span> <span class="o">+</span> <span class="n">cActiveFileName</span> <span class="o">+</span> <span class="s">&quot; saved!&quot;</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
3400         <span class="n">lAskToSave</span> <span class="o">=</span> <span class="kp">false</span>
3401
3402 <span class="k">func</span> <span class="n">pSaveAs</span>
3403         <span class="k">new</span> <span class="n">qfiledialog</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3404                 <span class="n">cName</span> <span class="o">=</span> <span class="n">getsavefilename</span><span class="p">(</span><span class="n">win1</span><span class="p">,</span><span class="s">&quot;Save As&quot;</span><span class="p">,</span><span class="s">&quot;&quot;</span><span class="p">,</span><span class="s">&quot;source files(*.ring)&quot;</span><span class="p">)</span>
3405                 <span class="k">if</span> <span class="n">cName</span> <span class="o">!=</span> <span class="kp">NULL</span>
3406                         <span class="n">cActiveFileName</span> <span class="o">=</span> <span class="n">cName</span>
3407                         <span class="n">writefile</span><span class="p">(</span><span class="n">cActiveFileName</span><span class="p">,</span><span class="n">textedit1</span><span class="p">.</span><span class="n">toplaintext</span><span class="p">())</span>
3408                         <span class="n">status1</span><span class="p">.</span><span class="n">showmessage</span><span class="p">(</span><span class="s">&quot;File : &quot;</span> <span class="o">+</span> <span class="n">cActiveFileName</span> <span class="o">+</span> <span class="s">&quot; saved!&quot;</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
3409                         <span class="n">pSetActiveFileName</span><span class="p">()</span>
3410                         <span class="n">lAskToSave</span> <span class="o">=</span> <span class="kp">false</span>
3411                 <span class="k">ok</span>
3412         <span class="p">}</span>
3413
3414 <span class="k">func</span> <span class="n">pPrint</span>
3415         <span class="n">status1</span><span class="p">.</span><span class="n">showmessage</span><span class="p">(</span><span class="s">&quot;Printing to File : RingDoc.pdf&quot;</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
3416         <span class="n">printer1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qPrinter</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
3417                 <span class="n">setoutputformat</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>      <span class="c"># 1 = pdf</span>
3418                 <span class="n">setoutputfilename</span><span class="p">(</span><span class="s">&quot;RingDoc.pdf&quot;</span><span class="p">)</span>
3419                 <span class="n">textedit1</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">printer1</span><span class="p">)</span>
3420         <span class="p">}</span>
3421         <span class="n">status1</span><span class="p">.</span><span class="n">showmessage</span><span class="p">(</span><span class="s">&quot;Done!&quot;</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
3422         <span class="n">system</span><span class="p">(</span><span class="s">&quot;RingDoc.pdf&quot;</span><span class="p">)</span>
3423
3424 <span class="k">func</span> <span class="n">pCut</span>
3425         <span class="n">textedit1</span><span class="p">.</span><span class="n">cut</span><span class="p">()</span>
3426         <span class="n">status1</span><span class="p">.</span><span class="n">showmessage</span><span class="p">(</span><span class="s">&quot;Cut!&quot;</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
3427
3428 <span class="k">func</span> <span class="n">pCopy</span>
3429         <span class="n">textedit1</span><span class="p">.</span><span class="n">copy</span><span class="p">()</span>
3430         <span class="n">status1</span><span class="p">.</span><span class="n">showmessage</span><span class="p">(</span><span class="s">&quot;Copy!&quot;</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
3431
3432 <span class="k">func</span> <span class="n">pPaste</span>
3433         <span class="n">textedit1</span><span class="p">.</span><span class="n">paste</span><span class="p">()</span>
3434         <span class="n">status1</span><span class="p">.</span><span class="n">showmessage</span><span class="p">(</span><span class="s">&quot;Paste!&quot;</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
3435
3436 <span class="k">func</span> <span class="n">pFont</span>
3437         <span class="n">oFontDialog</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qfontdialog</span><span class="p">()</span> <span class="p">{</span>
3438                 <span class="n">aFont</span> <span class="o">=</span> <span class="n">getfont</span><span class="p">()</span>
3439         <span class="p">}</span>
3440         <span class="n">textedit1</span><span class="p">.</span><span class="n">selectall</span><span class="p">()</span>
3441         <span class="n">cFont</span> <span class="o">=</span> <span class="n">aFont</span><span class="o">[</span><span class="mi">1</span><span class="o">]</span>
3442         <span class="n">pSetFont</span><span class="p">()</span>
3443
3444 <span class="k">Func</span> <span class="n">pSetFont</span>
3445         <span class="n">myfont</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qfont</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
3446         <span class="n">myfont</span><span class="p">.</span><span class="n">fromstring</span><span class="p">(</span><span class="n">cFont</span><span class="p">)</span>
3447         <span class="n">textedit1</span><span class="p">.</span><span class="n">setcurrentfont</span><span class="p">(</span><span class="n">myfont</span><span class="p">)</span>
3448
3449 <span class="k">Func</span> <span class="n">pColor</span>
3450         <span class="k">new</span> <span class="n">qcolordialog</span><span class="p">()</span> <span class="p">{</span> <span class="n">aTextColor</span> <span class="o">=</span> <span class="n">GetColor</span><span class="p">()</span> <span class="p">}</span>
3451         <span class="n">pSetColors</span><span class="p">()</span>
3452
3453 <span class="k">Func</span> <span class="n">pColor2</span>
3454         <span class="k">new</span> <span class="n">qcolordialog</span><span class="p">()</span> <span class="p">{</span> <span class="n">aBackColor</span> <span class="o">=</span> <span class="n">GetColor</span><span class="p">()</span> <span class="p">}</span>
3455         <span class="n">pSetColors</span><span class="p">()</span>
3456
3457 <span class="k">Func</span> <span class="n">pSetColors</span>
3458         <span class="n">textedit1</span><span class="p">.</span><span class="n">setstylesheet</span><span class="p">(</span><span class="s">&quot;color: rgb(&quot;</span> <span class="o">+</span> <span class="n">aTextColor</span><span class="o">[</span><span class="mi">1</span><span class="o">]</span> <span class="o">+</span> <span class="s">&quot;,&quot;</span> <span class="o">+</span> <span class="n">aTextColor</span><span class="o">[</span><span class="mi">2</span><span class="o">]</span> <span class="o">+</span>
3459                                 <span class="s">&quot;,&quot;</span> <span class="o">+</span> <span class="n">aTextColor</span><span class="o">[</span><span class="mi">3</span><span class="o">]</span> <span class="o">+</span> <span class="s">&quot;);&quot;</span> <span class="o">+</span> <span class="s">&quot;background-color: rgb(&quot;</span> <span class="o">+</span>
3460                                 <span class="n">aBackColor</span><span class="o">[</span><span class="mi">1</span><span class="o">]</span> <span class="o">+</span> <span class="s">&quot;,&quot;</span> <span class="o">+</span> <span class="n">aBackColor</span><span class="o">[</span><span class="mi">2</span><span class="o">]</span> <span class="o">+</span> <span class="s">&quot;,&quot;</span> <span class="o">+</span>
3461                                 <span class="n">aBackColor</span><span class="o">[</span><span class="mi">3</span><span class="o">]</span> <span class="o">+</span> <span class="s">&quot;)&quot;</span><span class="p">)</span>
3462
3463 <span class="k">func</span> <span class="n">pOpen</span>
3464         <span class="k">new</span> <span class="n">qfiledialog</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3465                 <span class="n">cName</span> <span class="o">=</span> <span class="n">getopenfilename</span><span class="p">(</span><span class="n">win1</span><span class="p">,</span><span class="s">&quot;open file&quot;</span><span class="p">,</span><span class="s">&quot;c:</span><span class="se">\&quot;</span><span class="s">,&quot;</span><span class="n">source</span> <span class="n">files</span><span class="p">(</span><span class="o">*</span><span class="p">.</span><span class="n">ring</span><span class="p">)</span><span class="s">&quot;)</span>
3466                 <span class="k">if</span> <span class="n">cName</span> <span class="o">!=</span> <span class="kp">NULL</span>
3467                         <span class="n">cActiveFileName</span> <span class="o">=</span> <span class="n">cName</span>
3468                         <span class="n">textedit1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="n">read</span><span class="p">(</span><span class="n">cActiveFileName</span><span class="p">))</span>
3469                 <span class="k">ok</span>
3470         <span class="p">}</span>
3471
3472 <span class="k">func</span> <span class="n">pNew</span>
3473         <span class="k">new</span> <span class="n">qfiledialog</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3474                 <span class="n">cName</span> <span class="o">=</span> <span class="n">getsavefilename</span><span class="p">(</span><span class="n">win1</span><span class="p">,</span><span class="s">&quot;New file&quot;</span><span class="p">,</span><span class="s">&quot;&quot;</span><span class="p">,</span><span class="s">&quot;source files(*.ring)&quot;</span><span class="p">)</span>
3475                 <span class="k">if</span> <span class="n">cName</span> <span class="o">!=</span> <span class="kp">NULL</span>
3476                         <span class="n">write</span><span class="p">(</span><span class="n">cName</span><span class="p">,</span><span class="s">&quot;&quot;</span><span class="p">)</span>
3477                         <span class="n">cActiveFileName</span> <span class="o">=</span> <span class="n">cName</span>
3478                         <span class="n">textedit1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="n">read</span><span class="p">(</span><span class="n">cActiveFileName</span><span class="p">))</span>
3479
3480                 <span class="k">ok</span>
3481         <span class="p">}</span>
3482
3483 <span class="k">Func</span> <span class="n">WriteFile</span> <span class="n">cFileName</span><span class="p">,</span><span class="n">cCode</span>
3484         <span class="n">aCode</span> <span class="o">=</span> <span class="n">str2list</span><span class="p">(</span><span class="n">cCode</span><span class="p">)</span>
3485         <span class="n">fp</span> <span class="o">=</span> <span class="n">fopen</span><span class="p">(</span><span class="n">cFileName</span><span class="p">,</span><span class="s">&quot;wb&quot;</span><span class="p">)</span>
3486         <span class="k">for</span> <span class="n">cLine</span> <span class="k">in</span> <span class="n">aCode</span>
3487                 <span class="n">fwrite</span><span class="p">(</span><span class="n">fp</span><span class="p">,</span><span class="n">cLine</span><span class="o">+</span><span class="n">char</span><span class="p">(</span><span class="mi">13</span><span class="p">)</span><span class="o">+</span><span class="n">char</span><span class="p">(</span><span class="mi">10</span><span class="p">))</span>
3488         <span class="k">next</span>
3489         <span class="n">fclose</span><span class="p">(</span><span class="n">fp</span><span class="p">)</span>
3490
3491 <span class="k">Func</span> <span class="n">MsgBox</span> <span class="n">cTitle</span><span class="p">,</span><span class="n">cMessage</span>
3492         <span class="k">new</span> <span class="n">qMessagebox</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3493                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="n">cTitle</span><span class="p">)</span>
3494                 <span class="n">setText</span><span class="p">(</span><span class="n">cMessage</span><span class="p">)</span>
3495                 <span class="n">show</span><span class="p">()</span>
3496         <span class="p">}</span>
3497
3498
3499 <span class="k">Func</span> <span class="n">pLang</span>
3500         <span class="n">MsgBox</span><span class="p">(</span><span class="s">&quot;Programming Language&quot;</span><span class="p">,</span>
3501                 <span class="s">&quot;This application developed using the Ring programming language&quot;</span><span class="p">)</span>
3502
3503 <span class="k">Func</span> <span class="n">pGUI</span>
3504         <span class="n">MsgBox</span><span class="p">(</span><span class="s">&quot;GUI Library&quot;</span><span class="p">,</span>
3505                 <span class="s">&quot;This application uses the Qt GUI Library through RingQt&quot;</span><span class="p">)</span>
3506
3507 <span class="k">Func</span> <span class="n">pAbout</span>
3508         <span class="n">MsgBox</span><span class="p">(</span><span class="s">&quot;About&quot;</span><span class="p">,</span>
3509                 <span class="s">&quot;2016, Mahmoud Fayed &lt;msfclipper@yahoo.com&gt;&quot;</span><span class="p">)</span>
3510
3511 <span class="k">Func</span> <span class="n">pSaveSettings</span>
3512         <span class="n">cSettings</span> <span class="o">=</span> <span class="s">&quot;aTextColor = [&quot;</span><span class="o">+</span><span class="n">aTextColor</span><span class="o">[</span><span class="mi">1</span><span class="o">]+</span><span class="s">&quot;,&quot;</span><span class="o">+</span><span class="n">aTextColor</span><span class="o">[</span><span class="mi">2</span><span class="o">]+</span>
3513                         <span class="s">&quot;,&quot;</span><span class="o">+</span><span class="n">aTextColor</span><span class="o">[</span><span class="mi">3</span><span class="o">]+</span><span class="s">&quot;]&quot;</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
3514                         <span class="s">&quot;aBackColor = [&quot;</span><span class="o">+</span><span class="n">aBackColor</span><span class="o">[</span><span class="mi">1</span><span class="o">]+</span><span class="s">&quot;,&quot;</span><span class="o">+</span><span class="n">aBackColor</span><span class="o">[</span><span class="mi">2</span><span class="o">]+</span>
3515                         <span class="s">&quot;,&quot;</span><span class="o">+</span><span class="n">aBackColor</span><span class="o">[</span><span class="mi">3</span><span class="o">]+</span><span class="s">&quot;]&quot;</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
3516                         <span class="s">&quot;cFont = &#39;&quot;</span> <span class="o">+</span> <span class="n">cFont</span> <span class="o">+</span> <span class="s">&quot;&#39;&quot;</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
3517                         <span class="s">&quot;cWebSite = &#39;&quot;</span> <span class="o">+</span> <span class="n">cWebsite</span> <span class="o">+</span> <span class="s">&quot;&#39;&quot;</span> <span class="o">+</span> <span class="n">nl</span>
3518         <span class="n">cSettings</span> <span class="o">=</span> <span class="n">substr</span><span class="p">(</span><span class="n">cSettings</span><span class="p">,</span><span class="n">nl</span><span class="p">,</span><span class="n">char</span><span class="p">(</span><span class="mi">13</span><span class="p">)</span><span class="o">+</span><span class="n">char</span><span class="p">(</span><span class="mi">10</span><span class="p">))</span>
3519         <span class="n">write</span><span class="p">(</span><span class="s">&quot;ringnotepad.ini&quot;</span><span class="p">,</span><span class="n">cSettings</span><span class="p">)</span>
3520         <span class="k">if</span> <span class="n">lAsktoSave</span>
3521                 <span class="k">new</span> <span class="n">qmessagebox</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
3522                 <span class="p">{</span>
3523                         <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Save Changes?&quot;</span><span class="p">)</span>
3524                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Some changes are not saved!&quot;</span><span class="p">)</span>
3525                         <span class="n">setInformativeText</span><span class="p">(</span><span class="s">&quot;Do you want to save your changes?&quot;</span><span class="p">)</span>
3526                         <span class="n">setstandardbuttons</span><span class="p">(</span><span class="n">QMessageBox_Yes</span> <span class="o">|</span>
3527                                            <span class="n">QMessageBox_No</span> <span class="o">|</span> <span class="n">QMessageBox_Cancel</span><span class="p">)</span>
3528                         <span class="n">result</span> <span class="o">=</span> <span class="n">exec</span><span class="p">()</span>
3529                         <span class="n">win1</span> <span class="p">{</span>
3530                         <span class="k">if</span> <span class="n">result</span> <span class="o">=</span> <span class="n">QMessageBox_Yes</span>
3531                                 <span class="n">pSave</span><span class="p">()</span>
3532                         <span class="k">but</span> <span class="n">result</span> <span class="o">=</span> <span class="n">QMessageBox_Cancel</span>
3533                                 <span class="k">return</span> <span class="kp">false</span>
3534                         <span class="k">ok</span>
3535                 <span class="p">}</span>
3536         <span class="p">}</span>
3537         <span class="k">ok</span>
3538         <span class="k">return</span> <span class="kp">true</span>
3539
3540 <span class="k">Func</span> <span class="n">pSetWebsite</span>
3541         <span class="n">oWebView</span> <span class="p">{</span> <span class="n">loadpage</span><span class="p">(</span><span class="k">new</span> <span class="n">qurl</span><span class="p">(</span><span class="n">cWebSite</span><span class="p">))</span> <span class="p">}</span>
3542         <span class="n">oWBText</span>  <span class="p">{</span> <span class="n">setText</span><span class="p">(</span><span class="n">cWebSite</span><span class="p">)</span> <span class="p">}</span>
3543
3544 <span class="k">Func</span> <span class="n">RestoreSettings</span>
3545         <span class="n">eval</span><span class="p">(</span><span class="n">read</span><span class="p">(</span><span class="s">&quot;ringnotepad.ini&quot;</span><span class="p">))</span>
3546         <span class="n">pSetColors</span><span class="p">()</span>
3547         <span class="n">pSetFont</span><span class="p">()</span>
3548         <span class="n">pSetWebsite</span><span class="p">()</span>
3549
3550 <span class="k">Func</span> <span class="n">pQuit</span>
3551         <span class="k">if</span> <span class="n">pSaveSettings</span><span class="p">()</span>
3552                 <span class="n">myapp</span><span class="p">.</span><span class="n">quit</span><span class="p">()</span>
3553         <span class="k">ok</span>
3554 </pre></div>
3555 </div>
3556 <p>実行中のアプリケーション</p>
3557 <p>このスクリーンショットは “ファイル” メニューのデモです。</p>
3558 <img alt="Ring ノートパッド - ファイルメニュー" src="_images/ringqt_shot50.jpg" />
3559 <p>このウィンドウは “検索と置換”です。</p>
3560 <img alt="Ring ノートパッド - 検索と置換" src="_images/ringqt_shot51.jpg" />
3561 <p>このスクリーンショットはアプリケーションのメインウィンドウのデモです。</p>
3562 <img alt="Ring ノートパッド - メインウィンドウ" src="_images/ringqt_shot49.jpg" />
3563 <div class="admonition note">
3564 <p class="first admonition-title">注釈</p>
3565 <p class="last">前述のサンプルにある pDebug(), pRun() および pRunNoConsole() 関数は移植性がありません!
3566 このサンプルでは MS-Windows 用に記述されており、ほかのオペレーティングシステム用に更新できます。</p>
3567 </div>
3568 </div>
3569 <div class="section" id="cards">
3570 <span id="index-57"></span><h2>Cards ゲーム<a class="headerlink" href="#cards" title="このヘッドラインへのパーマリンク">¶</a></h2>
3571 <p>この用例は、 RingQt で開発したシンプルなカードゲームです。</p>
3572 <p>各プレイヤーは五枚のカードを取得しますが、カードの中身は誰にもわかりません。
3573 プレイヤーは毎回カードを確認するためにカードを一枚クリックします。
3574 カードが別のカードと同じ番号ならば各カードのポイントを取得します。
3575 カードの番号が “5” ならば、すべての可視状態のカードのポイントを取得します。</p>
3576 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Load</span> <span class="s">&quot;guilib.ring&quot;</span>
3577
3578 <span class="n">nScale</span> <span class="o">=</span> <span class="mi">1</span>
3579
3580 <span class="n">app1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qApp</span>
3581
3582 <span class="n">mypic</span> <span class="o">=</span> <span class="k">new</span> <span class="n">QPixmap</span><span class="p">(</span><span class="s">&quot;cards.jpg&quot;</span><span class="p">)</span>
3583
3584 <span class="n">mypic2</span> <span class="o">=</span> <span class="n">mypic</span><span class="p">.</span><span class="n">copy</span><span class="p">(</span><span class="mi">0</span><span class="p">,(</span><span class="mi">124</span><span class="o">*</span><span class="mi">4</span><span class="p">)</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span><span class="mi">79</span><span class="p">,</span><span class="mi">124</span><span class="p">)</span>
3585 <span class="n">Player1EatPic</span> <span class="o">=</span> <span class="n">mypic</span><span class="p">.</span><span class="n">copy</span><span class="p">(</span><span class="mi">80</span><span class="p">,(</span><span class="mi">124</span><span class="o">*</span><span class="mi">4</span><span class="p">)</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span><span class="mi">79</span><span class="p">,</span><span class="mi">124</span><span class="p">)</span>
3586 <span class="n">Player2EatPic</span><span class="o">=</span> <span class="n">mypic</span><span class="p">.</span><span class="n">copy</span><span class="p">(</span><span class="mi">160</span><span class="p">,(</span><span class="mi">124</span><span class="o">*</span><span class="mi">4</span><span class="p">)</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span><span class="mi">79</span><span class="p">,</span><span class="mi">124</span><span class="p">)</span>
3587
3588 <span class="n">aMyCards</span> <span class="o">=</span> <span class="o">[]</span>
3589 <span class="n">aMyValues</span> <span class="o">=</span> <span class="o">[]</span>
3590 <span class="k">for</span> <span class="n">x1</span> <span class="o">=</span> <span class="mi">0</span> <span class="k">to</span> <span class="mi">3</span>
3591         <span class="k">for</span> <span class="n">y1</span> <span class="o">=</span> <span class="mi">0</span> <span class="k">to</span> <span class="mi">12</span>
3592           <span class="n">temppic</span> <span class="o">=</span> <span class="n">mypic</span><span class="p">.</span><span class="n">copy</span><span class="p">((</span><span class="mi">79</span><span class="o">*</span><span class="n">y1</span><span class="p">)</span><span class="o">+</span><span class="mi">1</span><span class="p">,(</span><span class="mi">124</span><span class="o">*</span><span class="n">x1</span><span class="p">)</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span><span class="mi">79</span><span class="p">,</span><span class="mi">124</span><span class="p">)</span>
3593                   <span class="n">aMyCards</span> <span class="o">+</span> <span class="n">temppic</span>
3594                   <span class="n">aMyValues</span> <span class="o">+</span> <span class="p">(</span><span class="n">y1</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span>
3595         <span class="k">next</span>
3596 <span class="k">next</span>
3597
3598 <span class="n">nPlayer1Score</span> <span class="o">=</span> <span class="mi">0</span>   <span class="n">nPlayer2Score</span><span class="o">=</span><span class="mi">0</span>
3599
3600 <span class="k">do</span>
3601         <span class="n">Page1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Game</span>
3602         <span class="n">Page1</span><span class="p">.</span><span class="n">Start</span><span class="p">()</span>
3603 <span class="k">again</span> <span class="n">Page1</span><span class="p">.</span><span class="n">lnewgame</span>
3604
3605 <span class="n">mypic</span><span class="p">.</span><span class="n">delete</span><span class="p">()</span>
3606 <span class="n">mypic2</span><span class="p">.</span><span class="n">delete</span><span class="p">()</span>
3607 <span class="n">Player1EatPic</span><span class="p">.</span><span class="n">delete</span><span class="p">()</span>
3608 <span class="n">Player2EatPic</span><span class="p">.</span><span class="n">delete</span><span class="p">()</span>
3609
3610 <span class="k">for</span> <span class="n">t</span> <span class="k">in</span> <span class="n">aMyCards</span>
3611           <span class="n">t</span><span class="p">.</span><span class="n">delete</span><span class="p">()</span>
3612 <span class="k">next</span>
3613
3614 <span class="k">func</span> <span class="n">gui_setbtnpixmap</span> <span class="n">pBtn</span><span class="p">,</span><span class="n">pPixmap</span>
3615         <span class="n">pBtn</span> <span class="p">{</span>
3616                 <span class="n">setIcon</span><span class="p">(</span><span class="k">new</span> <span class="n">qicon</span><span class="p">(</span><span class="n">pPixmap</span><span class="p">.</span><span class="n">scaled</span><span class="p">(</span><span class="n">width</span><span class="p">(),</span><span class="n">height</span><span class="p">(),</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">)))</span>
3617                 <span class="n">setIconSize</span><span class="p">(</span><span class="k">new</span> <span class="n">QSize</span><span class="p">(</span><span class="n">width</span><span class="p">(),</span><span class="n">height</span><span class="p">()))</span>
3618         <span class="p">}</span>
3619
3620 <span class="k">Class</span> <span class="n">Game</span>
3621
3622         <span class="n">nCardsCount</span> <span class="o">=</span> <span class="mi">10</span>
3623         <span class="n">win1</span> <span class="n">layout1</span> <span class="n">label1</span> <span class="n">label2</span> <span class="n">layout2</span> <span class="n">layout3</span> <span class="n">aBtns</span> <span class="n">aBtns2</span>
3624         <span class="n">aCards</span> <span class="n">nRole</span><span class="o">=</span><span class="mi">1</span> <span class="n">aStatus</span> <span class="o">=</span> <span class="kt">list</span><span class="p">(</span><span class="n">nCardsCount</span><span class="p">)</span> <span class="n">aStatus2</span> <span class="o">=</span> <span class="n">aStatus</span>
3625         <span class="n">aValues</span>        <span class="n">aStatusValues</span> <span class="o">=</span> <span class="n">aStatus</span>  <span class="n">aStatusValues2</span> <span class="o">=</span> <span class="n">aStatus</span>
3626         <span class="n">Player1EatPic</span>   <span class="n">Player2EatPic</span>
3627         <span class="n">lnewgame</span> <span class="o">=</span> <span class="kp">false</span>
3628         <span class="n">nDelayEat</span> <span class="o">=</span> <span class="mf">0.5</span>
3629         <span class="n">nDelayNewGame</span> <span class="o">=</span> <span class="mi">1</span>
3630
3631         <span class="k">func</span> <span class="n">start</span>
3632
3633                 <span class="n">win1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qWidget</span><span class="p">()</span> <span class="p">{</span>
3634                         <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Five&quot;</span><span class="p">)</span>
3635                         <span class="n">setstylesheet</span><span class="p">(</span><span class="s">&quot;background-color: White&quot;</span><span class="p">)</span>
3636                         <span class="n">showfullscreen</span><span class="p">()</span>
3637                 <span class="p">}</span>
3638
3639                 <span class="n">layout1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qvboxlayout</span><span class="p">()</span>
3640
3641                 <span class="n">label1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlabel</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3642                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Player (1) - Score : &quot;</span> <span class="o">+</span> <span class="n">nPlayer1Score</span><span class="p">)</span>
3643                         <span class="n">setalignment</span><span class="p">(</span><span class="n">Qt_AlignHCenter</span> <span class="o">|</span> <span class="n">Qt_AlignVCenter</span><span class="p">)</span>
3644                         <span class="n">setstylesheet</span><span class="p">(</span><span class="s">&quot;color: White; background-color: Purple;</span>
3645                                          <span class="n">font</span><span class="o">-</span><span class="n">size</span><span class="p">:</span><span class="s">20pt&quot;)</span>
3646                         <span class="n">setfixedheight</span><span class="p">(</span><span class="mi">200</span><span class="p">)</span>
3647                 <span class="p">}</span>
3648
3649                 <span class="n">closebtn</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>  <span class="p">{</span>
3650                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Close Application&quot;</span><span class="p">)</span>
3651                         <span class="n">setstylesheet</span><span class="p">(</span><span class="s">&quot;font-size: 18px ; color : white ;</span>
3652                                          <span class="n">background</span><span class="o">-</span><span class="n">color</span><span class="p">:</span> <span class="n">black</span> <span class="p">;</span><span class="s">&quot;)</span>
3653                         <span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;Page1.win1.close()&quot;</span><span class="p">)</span>
3654                 <span class="p">}</span>
3655
3656                 <span class="n">aCards</span> <span class="o">=</span> <span class="n">aMyCards</span>
3657                 <span class="n">aValues</span> <span class="o">=</span> <span class="n">aMyValues</span>
3658
3659                 <span class="n">layout2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qhboxlayout</span><span class="p">()</span>
3660
3661                 <span class="n">aBtns</span> <span class="o">=</span> <span class="o">[]</span>
3662
3663                 <span class="k">for</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">1</span> <span class="k">to</span> <span class="n">nCardsCount</span>
3664                         <span class="n">aBtns</span> <span class="o">+</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
3665                         <span class="n">aBtns</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">.</span><span class="n">setfixedwidth</span><span class="p">(</span><span class="mi">79</span><span class="o">*</span><span class="n">nScale</span><span class="p">)</span>
3666                         <span class="n">aBtns</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">.</span><span class="n">setfixedheight</span><span class="p">(</span><span class="mi">124</span><span class="o">*</span><span class="n">nScale</span><span class="p">)</span>
3667                         <span class="n">gui_setbtnpixmap</span><span class="p">(</span><span class="n">aBtns</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">,</span><span class="n">mypic2</span><span class="p">)</span>
3668                         <span class="n">layout2</span><span class="p">.</span><span class="n">addwidget</span><span class="p">(</span><span class="n">aBtns</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">)</span>
3669                         <span class="n">aBtns</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">.</span><span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;Page1.Player1click(&quot;</span><span class="o">+</span><span class="n">x</span><span class="o">+</span><span class="s">&quot;)&quot;</span><span class="p">)</span>
3670                 <span class="k">next</span>
3671
3672                 <span class="n">layout1</span><span class="p">.</span><span class="n">addwidget</span><span class="p">(</span><span class="n">label1</span><span class="p">)</span>
3673                 <span class="n">layout1</span><span class="p">.</span><span class="n">addlayout</span><span class="p">(</span><span class="n">layout2</span><span class="p">)</span>
3674
3675                 <span class="n">label2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qlabel</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span> <span class="p">{</span>
3676                         <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Player (2) - Score : &quot;</span> <span class="o">+</span> <span class="n">nPlayer2Score</span><span class="p">)</span>
3677                         <span class="n">setalignment</span><span class="p">(</span><span class="n">Qt_AlignHCenter</span> <span class="o">|</span> <span class="n">Qt_AlignVCenter</span><span class="p">)</span>
3678                         <span class="n">setstylesheet</span><span class="p">(</span><span class="s">&quot;color: white; background-color: red;</span>
3679                                          <span class="n">font</span><span class="o">-</span><span class="n">size</span><span class="p">:</span><span class="s">20pt&quot;)</span>
3680                         <span class="n">setfixedheight</span><span class="p">(</span><span class="mi">200</span><span class="p">)</span>
3681                 <span class="p">}</span>
3682
3683                 <span class="n">layout3</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qhboxlayout</span><span class="p">()</span>
3684
3685                 <span class="n">aBtns2</span> <span class="o">=</span> <span class="o">[]</span>
3686                 <span class="k">for</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">1</span> <span class="k">to</span> <span class="n">nCardsCount</span>
3687                         <span class="n">aBtns2</span> <span class="o">+</span> <span class="k">new</span> <span class="n">qpushbutton</span><span class="p">(</span><span class="n">win1</span><span class="p">)</span>
3688                         <span class="n">aBtns2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">.</span><span class="n">setfixedwidth</span><span class="p">(</span><span class="mi">79</span><span class="o">*</span><span class="n">nScale</span><span class="p">)</span>
3689                         <span class="n">aBtns2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">.</span><span class="n">setfixedheight</span><span class="p">(</span><span class="mi">124</span><span class="o">*</span><span class="n">nScale</span><span class="p">)</span>
3690                         <span class="n">gui_setbtnpixmap</span><span class="p">(</span><span class="n">aBtns2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">,</span><span class="n">mypic2</span><span class="p">)</span>
3691                         <span class="n">layout3</span><span class="p">.</span><span class="n">addwidget</span><span class="p">(</span><span class="n">aBtns2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">)</span>
3692                         <span class="n">aBtns2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">.</span><span class="n">setclickevent</span><span class="p">(</span><span class="s">&quot;Page1.Player2click(&quot;</span><span class="o">+</span><span class="n">x</span><span class="o">+</span><span class="s">&quot;)&quot;</span><span class="p">)</span>
3693                 <span class="k">next</span>
3694
3695                 <span class="n">layout1</span><span class="p">.</span><span class="n">addwidget</span><span class="p">(</span><span class="n">label2</span><span class="p">)</span>
3696                 <span class="n">layout1</span><span class="p">.</span><span class="n">addlayout</span><span class="p">(</span><span class="n">layout3</span><span class="p">)</span>
3697                 <span class="n">layout1</span><span class="p">.</span><span class="n">addwidget</span><span class="p">(</span><span class="n">closebtn</span><span class="p">)</span>
3698
3699                 <span class="n">win1</span><span class="p">.</span><span class="n">setlayout</span><span class="p">(</span><span class="n">layout1</span><span class="p">)</span>
3700
3701                 <span class="n">app1</span><span class="p">.</span><span class="n">exec</span><span class="p">()</span>
3702
3703         <span class="k">Func</span> <span class="n">Player1Click</span> <span class="n">x</span>
3704                 <span class="k">if</span> <span class="n">nRole</span> <span class="o">=</span> <span class="mi">1</span> <span class="ow">and</span> <span class="n">aStatus</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="mi">0</span>
3705                         <span class="n">nPos</span> <span class="o">=</span> <span class="p">((</span><span class="n">random</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span><span class="o">+</span><span class="n">clock</span><span class="p">())</span><span class="o">%</span><span class="p">(</span><span class="n">len</span><span class="p">(</span><span class="n">aCards</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">))</span> <span class="o">+</span> <span class="mi">1</span>
3706                         <span class="n">gui_setbtnpixmap</span><span class="p">(</span><span class="n">aBtns</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">,</span><span class="n">aCards</span><span class="o">[</span><span class="n">nPos</span><span class="o">]</span><span class="p">)</span>
3707                         <span class="n">del</span><span class="p">(</span><span class="n">aCards</span><span class="p">,</span><span class="n">nPos</span><span class="p">)</span>
3708                         <span class="n">nRole</span> <span class="o">=</span> <span class="mi">2</span>
3709                         <span class="n">aStatus</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="mi">1</span>
3710                         <span class="n">aStatusValues</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="n">aValues</span><span class="o">[</span><span class="n">nPos</span><span class="o">]</span>
3711                         <span class="n">del</span><span class="p">(</span><span class="n">aValues</span><span class="p">,</span><span class="n">nPos</span><span class="p">)</span>
3712                         <span class="n">Player1Eat</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">aStatusValues</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">)</span>
3713                         <span class="n">checknewgame</span><span class="p">()</span>
3714                 <span class="k">ok</span>
3715
3716         <span class="k">Func</span> <span class="n">Player2Click</span> <span class="n">x</span>
3717                 <span class="k">if</span> <span class="n">nRole</span> <span class="o">=</span> <span class="mi">2</span> <span class="ow">and</span> <span class="n">aStatus2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="mi">0</span>
3718                         <span class="n">nPos</span> <span class="o">=</span> <span class="p">((</span><span class="n">random</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span><span class="o">+</span><span class="n">clock</span><span class="p">())</span><span class="o">%</span><span class="p">(</span><span class="n">len</span><span class="p">(</span><span class="n">aCards</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">))</span> <span class="o">+</span> <span class="mi">1</span>
3719                         <span class="n">gui_setbtnpixmap</span><span class="p">(</span><span class="n">aBtns2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">,</span><span class="n">aCards</span><span class="o">[</span><span class="n">nPos</span><span class="o">]</span><span class="p">)</span>
3720                         <span class="n">del</span><span class="p">(</span><span class="n">aCards</span><span class="p">,</span><span class="n">nPos</span><span class="p">)</span>
3721                         <span class="n">nRole</span> <span class="o">=</span> <span class="mi">1</span>
3722                         <span class="n">aStatus2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="mi">1</span>
3723                         <span class="n">aStatusValues2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="n">aValues</span><span class="o">[</span><span class="n">nPos</span><span class="o">]</span>
3724                         <span class="n">del</span><span class="p">(</span><span class="n">aValues</span><span class="p">,</span><span class="n">nPos</span><span class="p">)</span>
3725                         <span class="n">Player2Eat</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">aStatusValues2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">)</span>
3726                         <span class="n">checknewgame</span><span class="p">()</span>
3727                 <span class="k">ok</span>
3728
3729         <span class="k">Func</span> <span class="n">Player1Eat</span> <span class="n">nPos</span><span class="p">,</span><span class="n">nValue</span>
3730
3731                  <span class="n">app1</span><span class="p">.</span><span class="n">processEvents</span><span class="p">()</span>
3732
3733                  <span class="n">delay</span><span class="p">(</span><span class="n">nDelayEat</span><span class="p">)</span>
3734                  <span class="n">lEat</span> <span class="o">=</span> <span class="kp">false</span>
3735                  <span class="k">for</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">1</span> <span class="k">to</span> <span class="n">nCardsCount</span>
3736                          <span class="k">if</span> <span class="n">aStatus2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="mi">1</span> <span class="ow">and</span> <span class="p">(</span><span class="n">aStatusValues2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="n">nValue</span> <span class="ow">or</span> <span class="n">nValue</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
3737                                 <span class="n">aStatus2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="mi">2</span>
3738                                 <span class="n">gui_setbtnpixmap</span><span class="p">(</span><span class="n">aBtns2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">,</span><span class="n">Player1EatPic</span><span class="p">)</span>
3739                                 <span class="n">lEat</span> <span class="o">=</span> <span class="kp">True</span>
3740                                 <span class="n">nPlayer1Score</span><span class="o">++</span>
3741                          <span class="k">ok</span>
3742                          <span class="k">if</span> <span class="p">(</span><span class="n">x</span> <span class="o">!=</span> <span class="n">nPos</span><span class="p">)</span> <span class="ow">and</span> <span class="p">(</span><span class="n">aStatus</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="mi">1</span><span class="p">)</span> <span class="ow">and</span>
3743                                 <span class="p">(</span><span class="n">aStatusValues</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="n">nValue</span> <span class="ow">or</span> <span class="n">nValue</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
3744                                 <span class="n">aStatus</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="mi">2</span>
3745                                 <span class="n">gui_setbtnpixmap</span><span class="p">(</span><span class="n">aBtns</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">,</span><span class="n">Player1EatPic</span><span class="p">)</span>
3746                                 <span class="n">lEat</span> <span class="o">=</span> <span class="kp">True</span>
3747                                 <span class="n">nPlayer1Score</span><span class="o">++</span>
3748                          <span class="k">ok</span>
3749                  <span class="k">next</span>
3750                  <span class="k">if</span> <span class="n">lEat</span>
3751                                 <span class="n">nPlayer1Score</span><span class="o">++</span>
3752                                 <span class="n">gui_setbtnpixmap</span><span class="p">(</span><span class="n">aBtns</span><span class="o">[</span><span class="n">nPos</span><span class="o">]</span><span class="p">,</span><span class="n">Player1EatPic</span><span class="p">)</span>
3753                                 <span class="n">aStatus</span><span class="o">[</span><span class="n">nPos</span><span class="o">]</span> <span class="o">=</span> <span class="mi">2</span>
3754                                 <span class="n">label1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="s">&quot;Player (1) - Score : &quot;</span> <span class="o">+</span> <span class="n">nPlayer1Score</span><span class="p">)</span>
3755                  <span class="k">ok</span>
3756
3757         <span class="k">Func</span> <span class="n">Player2Eat</span> <span class="n">nPos</span><span class="p">,</span><span class="n">nValue</span>
3758
3759                  <span class="n">app1</span><span class="p">.</span><span class="n">processEvents</span><span class="p">()</span>
3760
3761                  <span class="n">delay</span><span class="p">(</span><span class="n">nDelayEat</span><span class="p">)</span>
3762                  <span class="n">lEat</span> <span class="o">=</span> <span class="kp">false</span>
3763                  <span class="k">for</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">1</span> <span class="k">to</span>  <span class="n">nCardsCount</span>
3764                          <span class="k">if</span> <span class="n">aStatus</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="mi">1</span> <span class="ow">and</span> <span class="p">(</span><span class="n">aStatusValues</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="n">nValue</span> <span class="ow">or</span> <span class="n">nValue</span> <span class="o">=</span> <span class="mi">5</span><span class="p">)</span>
3765                                 <span class="n">aStatus</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="mi">2</span>
3766                                 <span class="n">gui_setbtnpixmap</span><span class="p">(</span><span class="n">aBtns</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">,</span><span class="n">Player2EatPic</span><span class="p">)</span>
3767                                 <span class="n">lEat</span> <span class="o">=</span> <span class="kp">True</span>
3768                                 <span class="n">nPlayer2Score</span><span class="o">++</span>
3769                          <span class="k">ok</span>
3770
3771                          <span class="k">if</span> <span class="p">(</span><span class="n">x</span> <span class="o">!=</span> <span class="n">nPos</span><span class="p">)</span> <span class="ow">and</span> <span class="p">(</span><span class="n">aStatus2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="mi">1</span><span class="p">)</span> <span class="ow">and</span>
3772                                 <span class="p">(</span><span class="n">aStatusValues2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="n">nValue</span> <span class="ow">or</span> <span class="n">nValue</span><span class="o">=</span><span class="mi">5</span> <span class="p">)</span>
3773                                 <span class="n">aStatus2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span> <span class="o">=</span> <span class="mi">2</span>
3774                                 <span class="n">gui_setbtnpixmap</span><span class="p">(</span><span class="n">aBtns2</span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="p">,</span><span class="n">Player2EatPic</span><span class="p">)</span>
3775                                 <span class="n">lEat</span> <span class="o">=</span> <span class="kp">True</span>
3776                                 <span class="n">nPlayer2Score</span><span class="o">++</span>
3777                          <span class="k">ok</span>
3778                  <span class="k">next</span>
3779                  <span class="k">if</span> <span class="n">lEat</span>
3780                                 <span class="n">nPlayer2Score</span><span class="o">++</span>
3781                                 <span class="n">gui_setbtnpixmap</span><span class="p">(</span><span class="n">aBtns2</span><span class="o">[</span><span class="n">nPos</span><span class="o">]</span><span class="p">,</span><span class="n">Player2EatPic</span><span class="p">)</span>
3782                                 <span class="n">aStatus2</span><span class="o">[</span><span class="n">nPos</span><span class="o">]</span> <span class="o">=</span> <span class="mi">2</span>
3783                                 <span class="n">label2</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="s">&quot;Player (2) - Score : &quot;</span> <span class="o">+</span> <span class="n">nPlayer2Score</span><span class="p">)</span>
3784                  <span class="k">ok</span>
3785
3786         <span class="k">Func</span> <span class="n">checknewgame</span>
3787                 <span class="k">if</span> <span class="n">isnewgame</span><span class="p">()</span>
3788                                   <span class="n">lnewgame</span> <span class="o">=</span> <span class="kp">true</span>
3789
3790                                   <span class="k">if</span> <span class="n">nPlayer1Score</span> <span class="o">&gt;</span> <span class="n">nPlayer2Score</span>
3791                                          <span class="n">label1</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="s">&quot;Player (1) Wins!!!&quot;</span><span class="p">)</span>
3792                                   <span class="k">ok</span>
3793                                   <span class="k">if</span> <span class="n">nPlayer2Score</span> <span class="o">&gt;</span> <span class="n">nPlayer1Score</span>
3794                                          <span class="n">label2</span><span class="p">.</span><span class="n">settext</span><span class="p">(</span><span class="s">&quot;Player (2) Wins!!!&quot;</span><span class="p">)</span>
3795                                   <span class="k">ok</span>
3796
3797                                   <span class="n">app1</span><span class="p">.</span><span class="n">processEvents</span><span class="p">()</span>
3798                                   <span class="n">delay</span><span class="p">(</span><span class="n">nDelayNewGame</span><span class="p">)</span>
3799
3800                                   <span class="n">win1</span><span class="p">.</span><span class="n">delete</span><span class="p">()</span>
3801                                   <span class="n">app1</span><span class="p">.</span><span class="n">quit</span><span class="p">()</span>
3802                 <span class="k">ok</span>
3803
3804         <span class="k">Func</span> <span class="n">isnewgame</span>
3805                 <span class="k">for</span> <span class="n">t</span> <span class="k">in</span> <span class="n">aStatus</span>
3806                         <span class="k">if</span> <span class="n">t</span> <span class="o">=</span> <span class="mi">0</span>
3807                                 <span class="k">return</span> <span class="kp">false</span>
3808                         <span class="k">ok</span>
3809                 <span class="k">next</span>
3810                 <span class="k">for</span> <span class="n">t</span> <span class="k">in</span> <span class="n">aStatus2</span>
3811                         <span class="k">if</span> <span class="n">t</span> <span class="o">=</span> <span class="mi">0</span>
3812                                 <span class="k">return</span> <span class="kp">false</span>
3813                         <span class="k">ok</span>
3814                 <span class="k">next</span>
3815                 <span class="k">return</span> <span class="kp">true</span>
3816
3817         <span class="k">Func</span> <span class="n">delay</span> <span class="n">x</span>
3818         <span class="n">nTime</span> <span class="o">=</span> <span class="n">x</span> <span class="o">*</span> <span class="mi">1000</span>
3819         <span class="n">oTest</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qTest</span>
3820         <span class="n">oTest</span><span class="p">.</span><span class="n">qsleep</span><span class="p">(</span><span class="n">nTime</span><span class="p">)</span>
3821 </pre></div>
3822 </div>
3823 <p>実行中のアプリケーション</p>
3824 <img alt="Cards ゲーム" src="_images/ringqt_shot48.jpg" />
3825 <div class="admonition note">
3826 <p class="first admonition-title">注釈</p>
3827 <p class="last">前述のスクリーンショットではプレイヤーが‘5’番のカードを入手していますがスコアは加算されていません。
3828 これはほかのカードが不可視状態のときに‘5’番のカードを開いたからです!</p>
3829 </div>
3830 <p>このスクリーンショットはモバイル機器 (Android) でゲームを実行しています。</p>
3831 <img alt="Cards ゲーム" src="_images/ringqt_shot52.jpg" />
3832 <div class="admonition note">
3833 <p class="first admonition-title">注釈</p>
3834 <p class="last">Qt を使うと同じアプリケーションをほかのモバイルシステムで実行できます。</p>
3835 </div>
3836 </div>
3837 <div class="section" id="index-58">
3838 <span id="id24"></span><h2>クラスとメソッドでデフォルトのイベントを使うには<a class="headerlink" href="#index-58" title="このヘッドラインへのパーマリンク">¶</a></h2>
3839 <p>この表ではクラス名、およびメソッドで使用するデフォルトのイベントについて説明しています。</p>
3840 <table border="1" class="docutils">
3841 <colgroup>
3842 <col width="34%" />
3843 <col width="66%" />
3844 </colgroup>
3845 <thead valign="bottom">
3846 <tr class="row-odd"><th class="head">クラス名</th>
3847 <th class="head">メソッドで使用するデフォルトのイベント</th>
3848 </tr>
3849 </thead>
3850 <tbody valign="top">
3851 <tr class="row-even"><td>QPushButton</td>
3852 <td>SetClickEvent()</td>
3853 </tr>
3854 <tr class="row-odd"><td>QAction</td>
3855 <td>SetClickEvent()</td>
3856 </tr>
3857 <tr class="row-even"><td>QLineEdit</td>
3858 <td>SetTextChangedEvent()</td>
3859 </tr>
3860 <tr class="row-odd"><td></td>
3861 <td>SetCursorPositionChangedEvent()</td>
3862 </tr>
3863 <tr class="row-even"><td></td>
3864 <td>SetEditingFinishedEvent()</td>
3865 </tr>
3866 <tr class="row-odd"><td></td>
3867 <td>SetReturnPressedEvent()</td>
3868 </tr>
3869 <tr class="row-even"><td></td>
3870 <td>SetSelectionChangedEvent()</td>
3871 </tr>
3872 <tr class="row-odd"><td></td>
3873 <td>SetTextEditedEvent()</td>
3874 </tr>
3875 <tr class="row-even"><td>QTextEdit</td>
3876 <td>SetCopyAvailableEvent()</td>
3877 </tr>
3878 <tr class="row-odd"><td></td>
3879 <td>SetCurrentCharFormatChangedEvent()</td>
3880 </tr>
3881 <tr class="row-even"><td></td>
3882 <td>SetCursorPositionChangedEvent()</td>
3883 </tr>
3884 <tr class="row-odd"><td></td>
3885 <td>SetRedoAvailableEvent()</td>
3886 </tr>
3887 <tr class="row-even"><td></td>
3888 <td>SetSelectionChangedEvent()</td>
3889 </tr>
3890 <tr class="row-odd"><td></td>
3891 <td>SetTextChangedEvent()</td>
3892 </tr>
3893 <tr class="row-even"><td></td>
3894 <td>SetUndoAvailableEvent()</td>
3895 </tr>
3896 <tr class="row-odd"><td>QListWidget</td>
3897 <td>SetCurrentItemChangedEvent()</td>
3898 </tr>
3899 <tr class="row-even"><td></td>
3900 <td>SetCurrentRowChangedEvent()</td>
3901 </tr>
3902 <tr class="row-odd"><td></td>
3903 <td>SetCurrentTextChangedEvent()</td>
3904 </tr>
3905 <tr class="row-even"><td></td>
3906 <td>SetItemActivatedEvent()</td>
3907 </tr>
3908 <tr class="row-odd"><td></td>
3909 <td>SetItemChangedEvent()</td>
3910 </tr>
3911 <tr class="row-even"><td></td>
3912 <td>SetItemClickedEvent()</td>
3913 </tr>
3914 <tr class="row-odd"><td></td>
3915 <td>SetItemDoubleClickedEvent()</td>
3916 </tr>
3917 <tr class="row-even"><td></td>
3918 <td>SetItemEnteredEvent()</td>
3919 </tr>
3920 <tr class="row-odd"><td></td>
3921 <td>SetItemPressedEvent()</td>
3922 </tr>
3923 <tr class="row-even"><td></td>
3924 <td>SetItemSelectionChangedEvent()</td>
3925 </tr>
3926 <tr class="row-odd"><td>QTreeView</td>
3927 <td>SetCollapseEvent()</td>
3928 </tr>
3929 <tr class="row-even"><td></td>
3930 <td>SetExpandedEvent()</td>
3931 </tr>
3932 <tr class="row-odd"><td></td>
3933 <td>SetActivatedEvent()</td>
3934 </tr>
3935 <tr class="row-even"><td></td>
3936 <td>SetClickedEvent()</td>
3937 </tr>
3938 <tr class="row-odd"><td></td>
3939 <td>SetDoubleClickedEvent()</td>
3940 </tr>
3941 <tr class="row-even"><td></td>
3942 <td>SetEnteredEvent()</td>
3943 </tr>
3944 <tr class="row-odd"><td></td>
3945 <td>SetPressedEvent()</td>
3946 </tr>
3947 <tr class="row-even"><td></td>
3948 <td>SetViewportEnteredEvent()</td>
3949 </tr>
3950 <tr class="row-odd"><td>QTreeWidget</td>
3951 <td>SetCollapsedEvent()</td>
3952 </tr>
3953 <tr class="row-even"><td></td>
3954 <td>SetExpandedEvent()</td>
3955 </tr>
3956 <tr class="row-odd"><td></td>
3957 <td>SetActivatedEvent()</td>
3958 </tr>
3959 <tr class="row-even"><td></td>
3960 <td>SetClickedEvent()</td>
3961 </tr>
3962 <tr class="row-odd"><td></td>
3963 <td>SetDoubleClickedEvent()</td>
3964 </tr>
3965 <tr class="row-even"><td></td>
3966 <td>SetEnteredEvent()</td>
3967 </tr>
3968 <tr class="row-odd"><td></td>
3969 <td>SetPressedEvent()</td>
3970 </tr>
3971 <tr class="row-even"><td></td>
3972 <td>SetViewportEnteredEvent()</td>
3973 </tr>
3974 <tr class="row-odd"><td></td>
3975 <td>SetCurrentItemChangedEvent()</td>
3976 </tr>
3977 <tr class="row-even"><td></td>
3978 <td>SetItemActivatedEvent()</td>
3979 </tr>
3980 <tr class="row-odd"><td></td>
3981 <td>SetItemChangedEvent()</td>
3982 </tr>
3983 <tr class="row-even"><td></td>
3984 <td>SetItemClickedEvent()</td>
3985 </tr>
3986 <tr class="row-odd"><td></td>
3987 <td>SetItemCollapsedEvent()</td>
3988 </tr>
3989 <tr class="row-even"><td></td>
3990 <td>SetItemDoubleClickedEvent()</td>
3991 </tr>
3992 <tr class="row-odd"><td></td>
3993 <td>SetItemEnteredEvent()</td>
3994 </tr>
3995 <tr class="row-even"><td></td>
3996 <td>SetItemExpandedEvent()</td>
3997 </tr>
3998 <tr class="row-odd"><td></td>
3999 <td>SetItemPressedEvent()</td>
4000 </tr>
4001 <tr class="row-even"><td></td>
4002 <td>SetItemSelectionChangedEvent()</td>
4003 </tr>
4004 <tr class="row-odd"><td>QComboBox</td>
4005 <td>SetActivatedEvent()</td>
4006 </tr>
4007 <tr class="row-even"><td></td>
4008 <td>SetCurrentIndexChangedEvent()</td>
4009 </tr>
4010 <tr class="row-odd"><td></td>
4011 <td>SetEditTextChangedEvent()</td>
4012 </tr>
4013 <tr class="row-even"><td></td>
4014 <td>SetHighlightedEvent()</td>
4015 </tr>
4016 <tr class="row-odd"><td>QTabWidget</td>
4017 <td>SetCurrentChangedEvent()</td>
4018 </tr>
4019 <tr class="row-even"><td></td>
4020 <td>SetTabCloseRequestedEvent()</td>
4021 </tr>
4022 <tr class="row-odd"><td>QTableWidget</td>
4023 <td>SetCellActivatedEvent()</td>
4024 </tr>
4025 <tr class="row-even"><td></td>
4026 <td>SetCellChangedEvent()</td>
4027 </tr>
4028 <tr class="row-odd"><td></td>
4029 <td>SetCellClickedEvent()</td>
4030 </tr>
4031 <tr class="row-even"><td></td>
4032 <td>SetCellDoubleClickedEvent()</td>
4033 </tr>
4034 <tr class="row-odd"><td></td>
4035 <td>SetCellEnteredEvent()</td>
4036 </tr>
4037 <tr class="row-even"><td></td>
4038 <td>SetCellPressedEvent()</td>
4039 </tr>
4040 <tr class="row-odd"><td></td>
4041 <td>SetCurrentCellChangedEvent()</td>
4042 </tr>
4043 <tr class="row-even"><td></td>
4044 <td>SetCurrentItemChangedEvent()</td>
4045 </tr>
4046 <tr class="row-odd"><td></td>
4047 <td>SetItemActivatedEvent()</td>
4048 </tr>
4049 <tr class="row-even"><td></td>
4050 <td>SetItemChangedEvent()</td>
4051 </tr>
4052 <tr class="row-odd"><td></td>
4053 <td>SetItemClickedEvent()</td>
4054 </tr>
4055 <tr class="row-even"><td></td>
4056 <td>SetItemDoubleClickedEvent()</td>
4057 </tr>
4058 <tr class="row-odd"><td></td>
4059 <td>SetItemEnteredEvent()</td>
4060 </tr>
4061 <tr class="row-even"><td></td>
4062 <td>SetItemPressedEvent()</td>
4063 </tr>
4064 <tr class="row-odd"><td></td>
4065 <td>SetItemSelectionChangedEvent()</td>
4066 </tr>
4067 <tr class="row-even"><td>QProgressBar</td>
4068 <td>SetValueChangedEvent()</td>
4069 </tr>
4070 <tr class="row-odd"><td>QSpinBox</td>
4071 <td>SetValueChangedEvent()</td>
4072 </tr>
4073 <tr class="row-even"><td>QSlider</td>
4074 <td>SetActionTriggeredEvent()</td>
4075 </tr>
4076 <tr class="row-odd"><td></td>
4077 <td>SetRangeChangedEvent()</td>
4078 </tr>
4079 <tr class="row-even"><td></td>
4080 <td>SetSliderMovedEvent()</td>
4081 </tr>
4082 <tr class="row-odd"><td></td>
4083 <td>SetSliderPressedEvent()</td>
4084 </tr>
4085 <tr class="row-even"><td></td>
4086 <td>SetSliderReleasedEvent()</td>
4087 </tr>
4088 <tr class="row-odd"><td></td>
4089 <td>SetValueChangedEvent()</td>
4090 </tr>
4091 <tr class="row-even"><td>QDial</td>
4092 <td>SetActionTriggeredEvent()</td>
4093 </tr>
4094 <tr class="row-odd"><td></td>
4095 <td>SetRangeChangedEvent()</td>
4096 </tr>
4097 <tr class="row-even"><td></td>
4098 <td>SetSliderMovedEvent()</td>
4099 </tr>
4100 <tr class="row-odd"><td></td>
4101 <td>SetSliderPressedEvent()</td>
4102 </tr>
4103 <tr class="row-even"><td></td>
4104 <td>SetSliderReleasedEvent()</td>
4105 </tr>
4106 <tr class="row-odd"><td></td>
4107 <td>SetValueChangedEvent()</td>
4108 </tr>
4109 <tr class="row-even"><td>QWebView</td>
4110 <td>SetLoadFinishedEvent()</td>
4111 </tr>
4112 <tr class="row-odd"><td></td>
4113 <td>SetLoadProgressEvent()</td>
4114 </tr>
4115 <tr class="row-even"><td></td>
4116 <td>SetLoadStartedEvent()</td>
4117 </tr>
4118 <tr class="row-odd"><td></td>
4119 <td>SetSelectionChangedEvent()</td>
4120 </tr>
4121 <tr class="row-even"><td></td>
4122 <td>SetTitleChangedEvent()</td>
4123 </tr>
4124 <tr class="row-odd"><td></td>
4125 <td>SetUrlChangedEvent()</td>
4126 </tr>
4127 <tr class="row-even"><td>QCheckBox</td>
4128 <td>SetStateChangedEvent()</td>
4129 </tr>
4130 <tr class="row-odd"><td></td>
4131 <td>SetClickedEvent()</td>
4132 </tr>
4133 <tr class="row-even"><td></td>
4134 <td>SetPressedEvent()</td>
4135 </tr>
4136 <tr class="row-odd"><td></td>
4137 <td>SetReleasedEvent()</td>
4138 </tr>
4139 <tr class="row-even"><td></td>
4140 <td>SetToggledEvent()</td>
4141 </tr>
4142 <tr class="row-odd"><td>QRadioButton</td>
4143 <td>SetClickedEvent()</td>
4144 </tr>
4145 <tr class="row-even"><td></td>
4146 <td>SetPressedEvent()</td>
4147 </tr>
4148 <tr class="row-odd"><td></td>
4149 <td>SetReleasedEvent()</td>
4150 </tr>
4151 <tr class="row-even"><td></td>
4152 <td>SetToggledEvent()</td>
4153 </tr>
4154 <tr class="row-odd"><td>QButtonGroup</td>
4155 <td>SetButtonClickedEvent()</td>
4156 </tr>
4157 <tr class="row-even"><td></td>
4158 <td>SetButtonPressedEvent()</td>
4159 </tr>
4160 <tr class="row-odd"><td></td>
4161 <td>SetButtonReleasedEvent()</td>
4162 </tr>
4163 <tr class="row-even"><td>QVideoWidget</td>
4164 <td>SetBrightnessChangedEvent()</td>
4165 </tr>
4166 <tr class="row-odd"><td></td>
4167 <td>SetContrastChangedEvent()</td>
4168 </tr>
4169 <tr class="row-even"><td></td>
4170 <td>SetFullScreenChangedEvent()</td>
4171 </tr>
4172 <tr class="row-odd"><td></td>
4173 <td>SetHueChangedEvent()</td>
4174 </tr>
4175 <tr class="row-even"><td></td>
4176 <td>SetSaturationChangedEvent()</td>
4177 </tr>
4178 <tr class="row-odd"><td>QTimer</td>
4179 <td>SetTimeoutEvent()</td>
4180 </tr>
4181 <tr class="row-even"><td>QTcpServer</td>
4182 <td>SetAcceptErrorEvent()</td>
4183 </tr>
4184 <tr class="row-odd"><td></td>
4185 <td>SetNewConnectionEvent()</td>
4186 </tr>
4187 <tr class="row-even"><td>QIODevice</td>
4188 <td>SetAboutToCloseEvent()</td>
4189 </tr>
4190 <tr class="row-odd"><td></td>
4191 <td>SetBytesWrittenEvent()</td>
4192 </tr>
4193 <tr class="row-even"><td></td>
4194 <td>SetReadChannelFinishedEvent()</td>
4195 </tr>
4196 <tr class="row-odd"><td></td>
4197 <td>SetReadyReadEvent()</td>
4198 </tr>
4199 <tr class="row-even"><td>QAbstractSocket</td>
4200 <td>SetConnectedEvent()</td>
4201 </tr>
4202 <tr class="row-odd"><td></td>
4203 <td>SetDisconnectedEvent()</td>
4204 </tr>
4205 <tr class="row-even"><td></td>
4206 <td>SetErrorEvent()</td>
4207 </tr>
4208 <tr class="row-odd"><td></td>
4209 <td>SetHostFoundEvent()</td>
4210 </tr>
4211 <tr class="row-even"><td></td>
4212 <td>SetProxyAuthenticationRequiredEvent()</td>
4213 </tr>
4214 <tr class="row-odd"><td></td>
4215 <td>SetStateChangedEvent()</td>
4216 </tr>
4217 <tr class="row-even"><td>QTcpSocket</td>
4218 <td>SetConnectedEvent()</td>
4219 </tr>
4220 <tr class="row-odd"><td></td>
4221 <td>SetDisconnectedEvent()</td>
4222 </tr>
4223 <tr class="row-even"><td></td>
4224 <td>SetErrorEvent()</td>
4225 </tr>
4226 <tr class="row-odd"><td></td>
4227 <td>SetHostFoundEvent()</td>
4228 </tr>
4229 <tr class="row-even"><td></td>
4230 <td>SetProxyAuthenticationRequiredEvent()</td>
4231 </tr>
4232 <tr class="row-odd"><td></td>
4233 <td>SetStateChangedEvent()</td>
4234 </tr>
4235 <tr class="row-even"><td></td>
4236 <td>SetAboutToCloseEvent()</td>
4237 </tr>
4238 <tr class="row-odd"><td></td>
4239 <td>SetBytesWrittenEvent()</td>
4240 </tr>
4241 <tr class="row-even"><td></td>
4242 <td>SetReadChannelFinishedEvent()</td>
4243 </tr>
4244 <tr class="row-odd"><td></td>
4245 <td>SetReadyReadEvent()</td>
4246 </tr>
4247 <tr class="row-even"><td>QColorDialog</td>
4248 <td>SetColorSelectedEvent()</td>
4249 </tr>
4250 <tr class="row-odd"><td></td>
4251 <td>SetCurrentColorChangedEvent()</td>
4252 </tr>
4253 <tr class="row-even"><td>QNetworkAccessManager</td>
4254 <td>SetFinishedEvent()</td>
4255 </tr>
4256 <tr class="row-odd"><td>QThread</td>
4257 <td>SetStartedEvent()</td>
4258 </tr>
4259 <tr class="row-even"><td></td>
4260 <td>SetFinishedEvent()</td>
4261 </tr>
4262 </tbody>
4263 </table>
4264 </div>
4265 <div class="section" id="index-59">
4266 <span id="id25"></span><h2>イベントでイベントフィルタによるメソッド<a class="headerlink" href="#index-59" title="このヘッドラインへのパーマリンク">¶</a></h2>
4267 <p>RingQt はイベントフィルタを使用することにより、新しいクラス QAllEvents を定義しています。</p>
4268 <p>この表は利用可能なメソッドです。</p>
4269 <table border="1" class="docutils">
4270 <colgroup>
4271 <col width="59%" />
4272 <col width="41%" />
4273 </colgroup>
4274 <thead valign="bottom">
4275 <tr class="row-odd"><th class="head">メソッドで取得する仮引数</th>
4276 <th class="head">クラス名</th>
4277 </tr>
4278 </thead>
4279 <tbody valign="top">
4280 <tr class="row-even"><td>getKeyCode()    &#8211;&gt; Number</td>
4281 <td>QAllEvents</td>
4282 </tr>
4283 <tr class="row-odd"><td>getx()          &#8211;&gt; Number</td>
4284 <td>&nbsp;</td>
4285 </tr>
4286 <tr class="row-even"><td>gety()          &#8211;&gt; Number</td>
4287 <td>&nbsp;</td>
4288 </tr>
4289 <tr class="row-odd"><td>getglobalx()    &#8211;&gt; Number</td>
4290 <td>&nbsp;</td>
4291 </tr>
4292 <tr class="row-even"><td>getglobaly()    &#8211;&gt; Number</td>
4293 <td>&nbsp;</td>
4294 </tr>
4295 <tr class="row-odd"><td>getbutton()     &#8211;&gt; Number</td>
4296 <td>&nbsp;</td>
4297 </tr>
4298 <tr class="row-even"><td>getbuttons()    &#8211;&gt; Number</td>
4299 <td>&nbsp;</td>
4300 </tr>
4301 </tbody>
4302 </table>
4303 <p>この表はイベントで使用するメソッドを解説しています。</p>
4304 <table border="1" class="docutils">
4305 <colgroup>
4306 <col width="53%" />
4307 <col width="47%" />
4308 </colgroup>
4309 <thead valign="bottom">
4310 <tr class="row-odd"><th class="head">メソッド名</th>
4311 <th class="head">クラス名</th>
4312 </tr>
4313 </thead>
4314 <tbody valign="top">
4315 <tr class="row-even"><td>setKeyPressEvent(cEvent)</td>
4316 <td>QAllEvents</td>
4317 </tr>
4318 <tr class="row-odd"><td>setMouseButtonPressEvent(cEvent)</td>
4319 <td>&nbsp;</td>
4320 </tr>
4321 <tr class="row-even"><td>setMouseButtonReleaseEvent(cEvent)</td>
4322 <td>&nbsp;</td>
4323 </tr>
4324 <tr class="row-odd"><td>setMouseButtonDblClickEvent(cEvent)</td>
4325 <td>&nbsp;</td>
4326 </tr>
4327 <tr class="row-even"><td>setMouseMoveEvent(cEvent)</td>
4328 <td>&nbsp;</td>
4329 </tr>
4330 <tr class="row-odd"><td>setCloseEvent(cEvent)</td>
4331 <td>&nbsp;</td>
4332 </tr>
4333 <tr class="row-even"><td>setContextMenuEvent(cEvent)</td>
4334 <td>&nbsp;</td>
4335 </tr>
4336 <tr class="row-odd"><td>setDragEnterEvent(cEvent)</td>
4337 <td>&nbsp;</td>
4338 </tr>
4339 <tr class="row-even"><td>setDragLeaveEvent(cEvent)</td>
4340 <td>&nbsp;</td>
4341 </tr>
4342 <tr class="row-odd"><td>setDragMoveEvent(cEvent)</td>
4343 <td>&nbsp;</td>
4344 </tr>
4345 <tr class="row-even"><td>setDropEvent(cEvent)</td>
4346 <td>&nbsp;</td>
4347 </tr>
4348 <tr class="row-odd"><td>setEnterEvent(cEvent)</td>
4349 <td>&nbsp;</td>
4350 </tr>
4351 <tr class="row-even"><td>setFocusInEvent(cEvent)</td>
4352 <td>&nbsp;</td>
4353 </tr>
4354 <tr class="row-odd"><td>setFocusOutEvent(cEvent)</td>
4355 <td>&nbsp;</td>
4356 </tr>
4357 <tr class="row-even"><td>setKeyReleaseEvent(cEvent)</td>
4358 <td>&nbsp;</td>
4359 </tr>
4360 <tr class="row-odd"><td>setLeaveEvent(cEvent)</td>
4361 <td>&nbsp;</td>
4362 </tr>
4363 <tr class="row-even"><td>setNonClientAreaMouseButtonDblClickEvent(cEvent)</td>
4364 <td>&nbsp;</td>
4365 </tr>
4366 <tr class="row-odd"><td>setNonClientAreaMouseButtonPressEvent(cEvent)</td>
4367 <td>&nbsp;</td>
4368 </tr>
4369 <tr class="row-even"><td>setNonClientAreaMouseButtonReleaseEvent(cEvent)</td>
4370 <td>&nbsp;</td>
4371 </tr>
4372 <tr class="row-odd"><td>setNonClientAreaMouseMoveEvent(cEvent)</td>
4373 <td>&nbsp;</td>
4374 </tr>
4375 <tr class="row-even"><td>setMoveEvent(cEvent)</td>
4376 <td>&nbsp;</td>
4377 </tr>
4378 <tr class="row-odd"><td>setResizeEvent(cEvent)</td>
4379 <td>&nbsp;</td>
4380 </tr>
4381 <tr class="row-even"><td>setWindowActivateEvent(cEvent)</td>
4382 <td>&nbsp;</td>
4383 </tr>
4384 <tr class="row-odd"><td>setWindowBlockedEvent(cEvent)</td>
4385 <td>&nbsp;</td>
4386 </tr>
4387 <tr class="row-even"><td>setWindowDeactivateEvent(cEvent)</td>
4388 <td>&nbsp;</td>
4389 </tr>
4390 <tr class="row-odd"><td>setWindowStateChangeEvent(cEvent)</td>
4391 <td>&nbsp;</td>
4392 </tr>
4393 <tr class="row-even"><td>setWindowUnblockedEvent(cEvent)</td>
4394 <td>&nbsp;</td>
4395 </tr>
4396 </tbody>
4397 </table>
4398 </div>
4399 <div class="section" id="qt-ringqt">
4400 <span id="index-60"></span><h2>Qt と RingQt の違い<a class="headerlink" href="#qt-ringqt" title="このヘッドラインへのパーマリンク">¶</a></h2>
4401 <ol class="arabic simple">
4402 <li>RingQt ではイベントの実行用コードを設定するために単純なメソッドを使用します。</li>
4403 </ol>
4404 <p>文法:</p>
4405 <div class="highlight-none"><div class="highlight"><pre>Set&lt;Event_Name&gt;Event(cEventCode)
4406 </pre></div>
4407 </div>
4408 <ol class="arabic simple" start="2">
4409 <li>RingQt では Ring キーワードとの衝突を回避するためにメソッド名を変更しています。</li>
4410 </ol>
4411 <p>この表は変更点の解説です。</p>
4412 <table border="1" class="docutils">
4413 <colgroup>
4414 <col width="42%" />
4415 <col width="30%" />
4416 <col width="28%" />
4417 </colgroup>
4418 <thead valign="bottom">
4419 <tr class="row-odd"><th class="head">クラス名</th>
4420 <th class="head">Qt メソッド名</th>
4421 <th class="head">RingQt メソッド名</th>
4422 </tr>
4423 </thead>
4424 <tbody valign="top">
4425 <tr class="row-even"><td>QWebView</td>
4426 <td>load</td>
4427 <td>loadpage</td>
4428 </tr>
4429 <tr class="row-odd"><td>QMediaPlaylist</td>
4430 <td>load</td>
4431 <td>loadfile</td>
4432 </tr>
4433 <tr class="row-even"><td>QMediaPlaylist</td>
4434 <td>next</td>
4435 <td>movenext</td>
4436 </tr>
4437 <tr class="row-odd"><td>QPainter</td>
4438 <td>end</td>
4439 <td>endpaint</td>
4440 </tr>
4441 <tr class="row-even"><td>QPicture</td>
4442 <td>load</td>
4443 <td>loadfile</td>
4444 </tr>
4445 <tr class="row-odd"><td>QLineEdit</td>
4446 <td>end</td>
4447 <td>endtext</td>
4448 </tr>
4449 <tr class="row-even"><td>QDialog</td>
4450 <td>done</td>
4451 <td>donedialog</td>
4452 </tr>
4453 <tr class="row-odd"><td>QTextDocument</td>
4454 <td>end</td>
4455 <td>enddoc</td>
4456 </tr>
4457 <tr class="row-even"><td>QTextBlock</td>
4458 <td>next</td>
4459 <td>nextblock</td>
4460 </tr>
4461 <tr class="row-odd"><td>QSqlQuery</td>
4462 <td>next</td>
4463 <td>movenext</td>
4464 </tr>
4465 <tr class="row-even"><td>QImage</td>
4466 <td>load</td>
4467 <td>loadimage</td>
4468 </tr>
4469 <tr class="row-odd"><td>QNetworkAccessManager</td>
4470 <td>get</td>
4471 <td>getvalue</td>
4472 </tr>
4473 <tr class="row-even"><td>QNetworkAccessManager</td>
4474 <td>put</td>
4475 <td>putvalue</td>
4476 </tr>
4477 <tr class="row-odd"><td>QThread</td>
4478 <td>exit</td>
4479 <td>exitfromthread</td>
4480 </tr>
4481 <tr class="row-even"><td>QRegularExpressionMatchIterator</td>
4482 <td>next</td>
4483 <td>nextitem</td>
4484 </tr>
4485 <tr class="row-odd"><td>QCamera</td>
4486 <td>load</td>
4487 <td>loadcamera</td>
4488 </tr>
4489 </tbody>
4490 </table>
4491 </div>
4492 <div class="section" id="ringqt-qt">
4493 <span id="index-61"></span><h2>RingQt クラスおよび Qt の取扱説明書<a class="headerlink" href="#ringqt-qt" title="このヘッドラインへのパーマリンク">¶</a></h2>
4494 <p>Qt 取扱説明書 : <a class="reference external" href="http://doc.qt.io/qt-5/classes.html">http://doc.qt.io/qt-5/classes.html</a></p>
4495 <p>対応しているクラスとメソッドについては “RingQt クラスとメソッドのリファレンス” の章を参照してください。</p>
4496 </div>
4497 <div class="section" id="index-62">
4498 <span id="id26"></span><h2>新しいクラス名 - 1 からインデックスを開始<a class="headerlink" href="#index-62" title="このヘッドラインへのパーマリンク">¶</a></h2>
4499 <p>RingQt には新しいクラスが追加されています - 別バージョンのクラス名は小文字 “q” で開始されません。
4500 また GUI コントロールなど扱うときにインデックスが 1 から開始するようにメソッドを更新してあります。</p>
4501 <ul class="simple">
4502 <li>ComboBox</li>
4503 <li>ListWidget</li>
4504 <li>TableWidget</li>
4505 <li>TreeWidget</li>
4506 </ul>
4507 <p>前述のクラスは guilib.ring の System.GUI パッケージに実装されています:</p>
4508 <p>用法</p>
4509 <div class="highlight-ring"><div class="highlight"><pre><span class="k">load</span> <span class="s">&quot;guilib.ring&quot;</span>
4510
4511 <span class="k">import</span> <span class="n">System</span><span class="p">.</span><span class="n">GUI</span>
4512 </pre></div>
4513 </div>
4514 <p>これは以前のコードに一切影響を与えません。
4515 つまり Ring の規則と整合性がある優れたコードへの第三の選択です。</p>
4516 <p>またフォームデザイナーは、クラス間で「インデックスを 0 から開始」
4517 または「インデックスを 1 から開始」を選択肢を使用するために更新しました。</p>
4518 <p>用例 (フォームデザイナーを使用)</p>
4519 <ol class="arabic simple">
4520 <li><a class="reference external" href="https://github.com/ring-lang/ring/blob/master/applications/formdesigner/tests/indexstart/indexstartView.ring">https://github.com/ring-lang/ring/blob/master/applications/formdesigner/tests/indexstart/indexstartView.ring</a></li>
4521 <li><a class="reference external" href="https://github.com/ring-lang/ring/blob/master/applications/formdesigner/tests/indexstart/indexstartController.ring">https://github.com/ring-lang/ring/blob/master/applications/formdesigner/tests/indexstart/indexstartController.ring</a></li>
4522 </ol>
4523 </div>
4524 <div class="section" id="weblib-guilib">
4525 <span id="index-63"></span><h2>WebLib および GUILib によるレポートの作成方法<a class="headerlink" href="#weblib-guilib" title="このヘッドラインへのパーマリンク">¶</a></h2>
4526 <p>WebLib には HtmlPage クラスがあります。</p>
4527 <p>このクラスにより WebLib と GUILib で手軽にレポートを作成できます。</p>
4528 <p>用例:</p>
4529 <div class="highlight-ring"><div class="highlight"><pre><span class="k">load</span> <span class="s">&quot;stdlib.ring&quot;</span>
4530 <span class="k">load</span> <span class="s">&quot;weblib.ring&quot;</span>
4531 <span class="k">load</span> <span class="s">&quot;guilib.ring&quot;</span>
4532
4533 <span class="k">import</span> <span class="n">System</span><span class="p">.</span><span class="n">Web</span>
4534 <span class="k">import</span> <span class="n">System</span><span class="p">.</span><span class="n">GUI</span>
4535
4536 <span class="k">new</span> <span class="n">qApp</span> <span class="p">{</span>
4537         <span class="n">open_window</span><span class="p">(:</span><span class="n">CustomersReportController</span><span class="p">)</span>
4538         <span class="n">exec</span><span class="p">()</span>
4539 <span class="p">}</span>
4540
4541 <span class="k">class</span> <span class="n">CustomersReportController</span>
4542
4543         <span class="n">oView</span> <span class="o">=</span> <span class="k">new</span> <span class="n">CustomersReportView</span>
4544
4545         <span class="k">func</span> <span class="n">Start</span>
4546                 <span class="n">CreateReport</span><span class="p">()</span>
4547
4548         <span class="k">func</span> <span class="n">CreateReport</span>
4549                 <span class="n">mypage</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HtmlPage</span> <span class="p">{</span>
4550                         <span class="n">h1</span> <span class="p">{</span> <span class="n">text</span><span class="p">(</span><span class="s">&quot;Customers Report&quot;</span><span class="p">)</span> <span class="p">}</span>
4551                         <span class="n">Table</span>
4552                         <span class="p">{</span>
4553                                 <span class="n">style</span> <span class="o">=</span> <span class="n">stylewidth</span><span class="p">(</span><span class="s">&quot;100%&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">stylegradient</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
4554                                 <span class="n">TR</span>
4555                                 <span class="p">{</span>
4556                                         <span class="n">TD</span> <span class="p">{</span> <span class="n">WIDTH</span><span class="o">=</span><span class="s">&quot;10%&quot;</span>
4557                                                 <span class="n">text</span><span class="p">(</span><span class="s">&quot;Customers Count : &quot;</span> <span class="p">)</span>  <span class="p">}</span>
4558                                         <span class="n">TD</span> <span class="p">{</span> <span class="n">text</span> <span class="p">(</span><span class="mi">100</span><span class="p">)</span> <span class="p">}</span>
4559                                 <span class="p">}</span>
4560                         <span class="p">}</span>
4561                         <span class="n">Table</span>
4562                         <span class="p">{</span>
4563                                 <span class="n">style</span> <span class="o">=</span> <span class="n">stylewidth</span><span class="p">(</span><span class="s">&quot;100%&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">stylegradient</span><span class="p">(</span><span class="mi">26</span><span class="p">)</span>
4564                                 <span class="n">TR</span>
4565                                 <span class="p">{</span>
4566                                         <span class="n">style</span> <span class="o">=</span> <span class="n">stylewidth</span><span class="p">(</span><span class="s">&quot;100%&quot;</span><span class="p">)</span> <span class="o">+</span>
4567                                                 <span class="n">stylegradient</span><span class="p">(</span><span class="mi">24</span><span class="p">)</span>
4568                                         <span class="n">TD</span> <span class="p">{</span> <span class="n">text</span><span class="p">(</span><span class="s">&quot;Name &quot;</span> <span class="p">)</span>  <span class="p">}</span>
4569                                         <span class="n">TD</span> <span class="p">{</span> <span class="n">text</span><span class="p">(</span><span class="s">&quot;Age&quot;</span> <span class="p">)</span> <span class="p">}</span>
4570                                         <span class="n">TD</span> <span class="p">{</span> <span class="n">text</span><span class="p">(</span><span class="s">&quot;Country&quot;</span> <span class="p">)</span> <span class="p">}</span>
4571                                         <span class="n">TD</span> <span class="p">{</span> <span class="n">text</span><span class="p">(</span><span class="s">&quot;Job&quot;</span> <span class="p">)</span> <span class="p">}</span>
4572                                         <span class="n">TD</span> <span class="p">{</span> <span class="n">text</span><span class="p">(</span><span class="s">&quot;Company&quot;</span> <span class="p">)</span> <span class="p">}</span>
4573                                 <span class="p">}</span>
4574                                 <span class="k">for</span> <span class="n">x</span> <span class="o">=</span>  <span class="mi">1</span> <span class="k">to</span> <span class="mi">100</span>
4575                                         <span class="n">TR</span>
4576                                         <span class="p">{</span>
4577                                                 <span class="n">TD</span> <span class="p">{</span> <span class="n">text</span><span class="p">(</span><span class="s">&quot;Test&quot;</span> <span class="p">)</span>  <span class="p">}</span>
4578                                                 <span class="n">TD</span> <span class="p">{</span> <span class="n">text</span><span class="p">(</span><span class="s">&quot;30&quot;</span> <span class="p">)</span> <span class="p">}</span>
4579                                                 <span class="n">TD</span> <span class="p">{</span> <span class="n">text</span><span class="p">(</span><span class="s">&quot;Egypt&quot;</span> <span class="p">)</span> <span class="p">}</span>
4580                                                 <span class="n">TD</span> <span class="p">{</span> <span class="n">text</span><span class="p">(</span><span class="s">&quot;Sales&quot;</span> <span class="p">)</span> <span class="p">}</span>
4581                                                 <span class="n">TD</span> <span class="p">{</span> <span class="n">text</span><span class="p">(</span><span class="s">&quot;Future&quot;</span> <span class="p">)</span> <span class="p">}</span>
4582                                         <span class="p">}</span>
4583                                 <span class="k">next</span>
4584                         <span class="p">}</span>
4585                 <span class="p">}</span>
4586                 <span class="n">write</span><span class="p">(</span><span class="s">&quot;report.html&quot;</span><span class="p">,</span><span class="n">mypage</span><span class="p">.</span><span class="n">output</span><span class="p">())</span>
4587
4588         <span class="k">func</span> <span class="n">PrintEvent</span>
4589                 <span class="n">printer1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">qPrinter</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
4590                         <span class="n">setoutputformat</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
4591                         <span class="n">setoutputfilename</span><span class="p">(</span><span class="s">&quot;report.pdf&quot;</span><span class="p">)</span>
4592                 <span class="p">}</span>
4593                 <span class="n">oView</span> <span class="p">{</span>
4594                         <span class="n">web</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">printer1</span><span class="p">)</span>
4595                         <span class="n">web</span><span class="p">.</span><span class="n">show</span><span class="p">()</span>
4596                 <span class="p">}</span>
4597                 <span class="n">system</span> <span class="p">(</span><span class="s">&quot;report.pdf&quot;</span><span class="p">)</span>
4598
4599 <span class="k">class</span> <span class="n">CustomersReportView</span>
4600
4601                 <span class="n">win</span> <span class="o">=</span> <span class="k">new</span> <span class="n">window</span><span class="p">()</span> <span class="p">{</span>
4602                                 <span class="n">setwindowtitle</span><span class="p">(</span><span class="s">&quot;Report Window&quot;</span><span class="p">)</span>
4603                                 <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">500</span><span class="p">,</span><span class="mi">500</span><span class="p">)</span>
4604                                 <span class="n">web</span> <span class="o">=</span> <span class="k">new</span> <span class="n">webview</span><span class="p">(</span><span class="n">win</span><span class="p">)</span> <span class="p">{</span>
4605                                         <span class="n">setgeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">1000</span><span class="p">,</span><span class="mi">500</span><span class="p">)</span>
4606                                         <span class="n">loadpage</span><span class="p">(</span><span class="k">new</span> <span class="n">qurl</span><span class="p">(</span><span class="s">&quot;file:///&quot;</span><span class="o">+</span>
4607                                         <span class="n">currentdir</span><span class="p">()</span><span class="o">+</span><span class="s">&quot;/report.html&quot;</span><span class="p">))</span>
4608                                 <span class="p">}</span>
4609                                 <span class="k">new</span> <span class="n">pushbutton</span><span class="p">(</span><span class="n">win</span><span class="p">)</span> <span class="p">{</span>
4610                                                 <span class="n">setGeometry</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">20</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
4611                                                 <span class="n">settext</span><span class="p">(</span><span class="s">&quot;Print&quot;</span><span class="p">)</span>
4612                                                 <span class="n">setclickevent</span><span class="p">(</span><span class="n">Method</span><span class="p">(:</span><span class="n">PrintEvent</span><span class="p">))</span>
4613                                 <span class="p">}</span>
4614                                 <span class="n">showMaximized</span><span class="p">()</span>
4615                         <span class="p">}</span>
4616 </pre></div>
4617 </div>
4618 <p>スクリーンショット:</p>
4619 <img alt="顧客報告書" src="_images/ring15reportshot.png" />
4620 </div>
4621 </div>
4622
4623
4624           </div>
4625         </div>
4626       </div>
4627       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
4628         <div class="sphinxsidebarwrapper"><h3>ページの内容</h3>
4629 <ul>
4630 <li><a class="reference internal" href="#">デスクトップとモバイル開発 (RingQt)</a><ul>
4631 <li><a class="reference internal" href="#gui">はじめての GUI アプリケーション</a></li>
4632 <li><a class="reference internal" href="#index-2">イベントループ</a></li>
4633 <li><a class="reference internal" href="#index-3">レイアウトの用法</a></li>
4634 <li><a class="reference internal" href="#qtextedit">QTextEdit クラスの用法</a></li>
4635 <li><a class="reference internal" href="#qlistwidget">QListWidget クラスの用法</a></li>
4636 <li><a class="reference internal" href="#qtreeview-qfilesystemmodel">QTreeView および QFileSystemModel の用法</a></li>
4637 <li><a class="reference internal" href="#qtreewidget-qtreewidgetitem">QTreeWidget と QTreeWidgetItem の用法</a></li>
4638 <li><a class="reference internal" href="#qcombobox">QComboBox クラスの用法</a></li>
4639 <li><a class="reference internal" href="#index-9">メニューバーの作成方法</a></li>
4640 <li><a class="reference internal" href="#index-10">コンテキストメニュー</a></li>
4641 <li><a class="reference internal" href="#index-11">ツールバーの作成方法</a></li>
4642 <li><a class="reference internal" href="#index-12">ステータスバーの作成方法</a></li>
4643 <li><a class="reference internal" href="#qdockwidget">QDockWidget の用法</a></li>
4644 <li><a class="reference internal" href="#qtabwidget">QTabWidget の用法</a></li>
4645 <li><a class="reference internal" href="#qtablewidget">QTableWidget の用法</a></li>
4646 <li><a class="reference internal" href="#qprogressbar">QProgressBar の用法</a></li>
4647 <li><a class="reference internal" href="#qspinbox">QSpinBox の用法</a></li>
4648 <li><a class="reference internal" href="#qslider">QSlider の用法</a></li>
4649 <li><a class="reference internal" href="#qdateedit">QDateEdit の用法</a></li>
4650 <li><a class="reference internal" href="#qdial">QDial の用法</a></li>
4651 <li><a class="reference internal" href="#qwebview">QWebView の用法</a></li>
4652 <li><a class="reference internal" href="#qcheckbox">QCheckBox の用法</a></li>
4653 <li><a class="reference internal" href="#qradiobutton-qbuttongroup">QRadioButton と QButtonGroup の用法</a></li>
4654 <li><a class="reference internal" href="#qlabel">QLabel へハイパーリンクを追加するには</a></li>
4655 <li><a class="reference internal" href="#qvideowidget-qmediaplayer">QVideoWidget と QMediaPlayer</a></li>
4656 <li><a class="reference internal" href="#qframe">QFrame の用法</a></li>
4657 <li><a class="reference internal" href="#index-27">QLabel による画像の表示方法</a></li>
4658 <li><a class="reference internal" href="#index-28">メニューバーとスタイルシートの用例</a></li>
4659 <li><a class="reference internal" href="#qlineedit-qmessagebox">QLineEdit イベントと QMessageBox</a></li>
4660 <li><a class="reference internal" href="#index-30">そのほかのウイジェットイベント</a></li>
4661 <li><a class="reference internal" href="#qtimer">QTimer クラスの用法</a></li>
4662 <li><a class="reference internal" href="#index-32">QProgressBar およびタイマーの用法</a></li>
4663 <li><a class="reference internal" href="#index-33">QLabel による寸法変更画像の表示方法</a></li>
4664 <li><a class="reference internal" href="#qfiledialog">QFileDialog クラスの用法</a></li>
4665 <li><a class="reference internal" href="#qpainter">QPainter による描画方法</a></li>
4666 <li><a class="reference internal" href="#qprinter">QPrinter による印刷方法</a></li>
4667 <li><a class="reference internal" href="#qprintpreviewdialog">QPrintPreviewDialog の用法</a></li>
4668 <li><a class="reference internal" href="#index-38">複数ウィンドウの作成方法</a></li>
4669 <li><a class="reference internal" href="#index-39">音声の再生</a></li>
4670 <li><a class="reference internal" href="#qcolordialog">QColorDialog クラスの用法</a></li>
4671 <li><a class="reference internal" href="#qlcdnumber">qLCDNumber クラスの用法</a></li>
4672 <li><a class="reference internal" href="#index-42">移動可能ラベルの用例</a></li>
4673 <li><a class="reference internal" href="#qmessagebox">QMessagebox の用例</a></li>
4674 <li><a class="reference internal" href="#qinputdialog">QInputDialog クラスの用法</a></li>
4675 <li><a class="reference internal" href="#index-45">ダイアログ関数</a></li>
4676 <li><a class="reference internal" href="#index-46">キー入力とマウス移動イベント</a></li>
4677 <li><a class="reference internal" href="#index-47">マウスによるオブジェクトの移動方法</a></li>
4678 <li><a class="reference internal" href="#index-48">GUI クラスからの継承</a></li>
4679 <li><a class="reference internal" href="#qdesktopwidget">QDesktopWidget クラスの用法</a></li>
4680 <li><a class="reference internal" href="#index-50">テキストの回転</a></li>
4681 <li><a class="reference internal" href="#index-51">フォーカスの変更</a></li>
4682 <li><a class="reference internal" href="#index-52">正規表現</a></li>
4683 <li><a class="reference internal" href="#index-53">シンプルなクライアントとサーバーの用例</a></li>
4684 <li><a class="reference internal" href="#index-54">動的オブジェクト</a></li>
4685 <li><a class="reference internal" href="#weight-history">Weight History アプリケーション</a></li>
4686 <li><a class="reference internal" href="#notepad">Notepad アプリケーション</a></li>
4687 <li><a class="reference internal" href="#cards">Cards ゲーム</a></li>
4688 <li><a class="reference internal" href="#index-58">クラスとメソッドでデフォルトのイベントを使うには</a></li>
4689 <li><a class="reference internal" href="#index-59">イベントでイベントフィルタによるメソッド</a></li>
4690 <li><a class="reference internal" href="#qt-ringqt">Qt と RingQt の違い</a></li>
4691 <li><a class="reference internal" href="#ringqt-qt">RingQt クラスおよび Qt の取扱説明書</a></li>
4692 <li><a class="reference internal" href="#index-62">新しいクラス名 - 1 からインデックスを開始</a></li>
4693 <li><a class="reference internal" href="#weblib-guilib">WebLib および GUILib によるレポートの作成方法</a></li>
4694 </ul>
4695 </li>
4696 </ul>
4697
4698
4699   <h4>前のトピックへ</h4>
4700   <p class="topless"><a href="ringraylib.html"
4701                         title="前の章へ">RingRayLib の用法</a></p>
4702   <h4>次のトピックへ</h4>
4703   <p class="topless"><a href="qtmobile.html"
4704                         title="次の章へ">モバイル用 RingQt アプリケーションのビルド方法</a></p>
4705   <div role="note" aria-label="source link">
4706     <h3>このページ</h3>
4707     <ul class="this-page-menu">
4708       <li><a href="_sources/qt.txt"
4709             rel="nofollow">ソースコードを表示</a></li>
4710     </ul>
4711    </div>
4712       
4713 <form action="search.html" method="get">
4714   <input type="text" name="q" placeholder="Search" />
4715   <input type="hidden" name="check_keywords" value="yes" />
4716   <input type="hidden" name="area" value="default" />
4717 </form>
4718       
4719         </div>
4720       </div>
4721       <div class="clearer"></div>
4722     </div>
4723 <footer class="footer">
4724   <p class="pull-right">
4725     <a href="_sources/qt.txt"
4726        rel="nofollow">Page Source</a> &nbsp;
4727     <a href="#">Back to Top</a></p>
4728   <p>
4729     &copy; Copyright 2016-2020, Ring Team.<br/>
4730     Created using <a href="http://www.sphinx-doc.org/en/stable/">Sphinx</a> 1.3.6. / astropy-sphinx-theme 1.1 (isVowel)
4731   </p>
4732 </footer>
4733   </body>
4734 </html>