hakeの日記

Windows環境でプログラミングの勉強をしています。

qt

dev-img.bin パッケージ化群を試す〜その後

/usr/local/includeの件をエントリに書いたところ、にゃののんさんがdev-2で対応してくださいましたので早速試してみました。 dev-2にアップデートしているdev-1のファイル郡をアンインストールしようしようとしたのですが何故かqtopia-free-sdk_1.5.0-dev-1…

dev-img.binのインクルードについて

昨日の続きです。dec-img.binの環境でインクルードパスを明示的に指定しないとhello.cがコンパイルできない件について、にゃののんさんよりコメントを頂き原因がわかりました。 原因はgcc-cplus_2.95.1-dev-1_arm.ipkのインストールの際に/opt/QtPalmtop/inc…

dev-img.bin パッケージ化群を試す

りなざうテクノウさんでセルフ開発環境の各ツールのパッケージが公開されましたので試してみました。オリジナルではcramfsのファイルをマウントして環境変数等の設定を行って使用しますが、こちらは必要なパッケージをインストールするだけで使用できます(q…

時刻表示とタイマー

Ruby/Qteの勉強 その37画面に現在時刻を表示、スタートボタンで開始、ストップボタンで停止します。 時計の表示はQLCDNumberのオブジェクトを8桁で使用しています。QTimerのオブジェクト@timerを作成しスタートボタンが押されると1秒毎にシグナルtimeout…

リッチテキストブラウザ

Ruby/Qteの勉強 その36Cafe de Paisonのサンプルを参考に簡単なリッチテキストブラウザを作ってみる。ブラウザにはQTextBrowserのオブジェクトを使用、上部にボタンを配置してそれぞれにbackward、home、forwardのメソッドを指定している。@tbのメソッドを…

ペンで絵を描く

Ruby/Qteの勉強 その35上のPy/QtのソースをRubyに書き換えてみた、ペンで画面をなぞって絵を描くことができる(ただし動作が重い) 画面をタップして発生するmousePressEvenでタップ座標を@px,@pyに保存する、さらに画面をなぞることでmouseMoveEventが発…

描画処理

Ruby/Qteの勉強 その34画面に線や四角形を書いてみる。 描画を行うにはQPainterを使用して、beginとendの間に描画する内容を記述する。これらの処理はpaintEvent内で行い、updateまたはrepaintでイベントを発生させる。 下の例ではサイン曲線を描いている…

ポップアップメニュー

Ruby/Qteの勉強 その33画面をタップして、その位置にメニューをポップアップさせる。 メニューの項目はQPopupMenuのオブジェクトにinsertItemさせることで作成する、メニュー表示はexecメソッドを使用。 画面タップの検出とその位置取得にはmousePressEven…

キーへの機能割り当て

Ruby/Qteの勉強 その32忘れないうちにまとめておく。 特定のキーを押したときにある機能を実行させる場合にはQAccelを使用する。使いかたはQAccelのオブジェクト@keyに対してキーアイテムを追加してから、connectItemでスロット (メソッド)に接続する。 …

クローズイベントの処理

Ruby/Qteの勉強 その31サブウィンドウを閉じる場合に、「保存」等のボタンを用意して任意の処理をさせてから閉じるようにする場合があるが、ウィンドウ右上のOKをタップすると行いたい処理ができずに直ぐに閉じてしまう。そこでウィンドウ右上のOKをタップ…

キーイベントの取得

Ruby/Qteの勉強 その30ここに話題があったので試してみました。前回のプログラムに追加してみる。 画面をタップすると座標を表示、その後カーソルキー操作で数字が移動していきます。 keyPressEventはQKeyが渡されてくるので、ここ(e.key)からキーコード…

座標の取得とシグナルの発生

Ruby/Qteの勉強 その29画面のCanvasViewのフィールド内をタップすると、その場所に座標を表示します。元ネタは前回と同じくここで殆どそのまんまのスクリプトです。 前回と同様に内部のメソッド?の上書きを行うためにQCanvasViewではなくQRCanvasViewを使…

アニメーション?

Ruby/Qteの勉強 その28ボタンを押すとアイコンイメージが画面を移動します。 イメージを表示するQCanvasのオブジェクト@fieldを作成、メインウィンドウ上に表示枠としてQCanvasViewのオブジェクト@fieldviewを配置して、そこから@fieldを覗くイメージです…

画像ファイルの表示 その2

Ruby/Qteの勉強 その27大きな画像を表示させたい場合はQScrollViewを使用する、メインウィンドウ上にQScrollViewの窓を用意してそこを通して画像ファイルの一部を覗くという感じ? スクロールバーを操作することで画像の各部分を表示させることができる。 …

画像ファイルの表示

Ruby/Qteの勉強 その26メインウィンドウに画像を表示させてみる。下のスクリプトで表示ボタンを押すと指定した画像ファイルがロードされて表示します、大きな画像は一部のみの表示となります(当然) このスクリプトはおかださんのEBtのソースをなぞったも…

セルフ開発環境情報へのリンク

ブログを巡っていて発見、dev-imgとの違いが判りませんけど、時間があったら試してみよう MakiWiki - ZGCC2インストール(http://www.makichan.jp/home/index.php?ZGCC2%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB)

文字コードの変換

Rubyの勉強Ruby/Qteのスクリプトは文字コードUTF8であることが多いのですが、ファイルの読み書きを行う場合にそのファイルの文字コードがUTF8以外で書かれていることもあります。その場合は文字コードの変換を行う必要があります。文字コードの変換は標準の…

フォーカスポリシー

Ruby/Qteの勉強 その25ウィンドウ上にテキストボックスやボタン等のウィジェットが配置されている場合、TABキーでフォーカスの移動することができる。各ウィジェットはデフォルトでフォーカス移動対象になっている模様、移動の順番はスクリプトで各ウィジ…

タブによる切り替え その2

Ruby/Qteの勉強 その24昨日の日記でメインウィンドウ内でタブによる切り替えができないようなことを書いてしまいましたが、QTabWidgetで可能と氏家さんよりコメントいただきました、ありがとうございます。 使用方法は昨日のQTabDialogと同様、切り替え表…

タブによる切り替え

Ruby/Qteの勉強 その23本当はメインウィンドウ内でタブによる切り替えをしたかったのだけど、QTabBarはnewメソッドがないと怒られたので、サブウィンドウで実験してみる。(追記:QTabWidgetで実現できると氏家さんよりコメントいただきましたありがとうご…

セルフ開発環境(dev-img1.3) チュートリアル

昨日のつづき ブラウザで/mnt/dev/doc/index.htmlから“QT Library Referrence Manual”→“チュートリアル”と辿るとチュートリアルがあるので最初のサンプルをターミナル環境でコンパイルしてみる。 Qt tutorial 1のプログラムをエディタにコピペ、t01.cppとし…

セルフ開発環境(dev-img1.3, Nokaji)

先日試したzgcc34は環境をアンマウントすると動作しないので、dev_imgを試してみる。こちらのページの下の方にあるdev-img.binを入手、これだとQTのアプリも作れるみたい。 設定 ~/.bashrcに以下を追加 export PATH=$PATH:/mnt/dev/bin:/mnt/dev/tmake/bin e…

ウィジェットの切り替え その2

Ruby/Qteの勉強 その22画面の一部を切り替える場合を考える、切り替えるエリアは前回と同じくQWidgetクラスのインスタンス@w0と@w1を用意してQWidgetStackのインスタンス@stackにaddWidgetしている。 画面構成を上から順にテキストボックス@ebox、@stack、…

ウィジェットの切り替え

Ruby/Qteの勉強 その21ウィジェットを予め複数用意しておいてスタックすることで、簡単に切り替えて使用することができる。画面の切り替え等に使用が可能。 使用する数だけのQWidgetのインスタンスを用意し、QWidgetStackのインスタンスに.addWidgetするこ…

ファイル選択ダイアログの作成 その2

Ruby/Qteの勉強 昨日のつづきシンボリックリンクを介したディレクトリ移動で親ディレクトリに戻るときに上手くいかない件について、よくよく考えたらディレクトリを移動する度にDir.pwdでパス情報を新規に取得しているから上手くいかないことに気がついた。…

ファイル選択ダイアログの作成

Ruby/Qteの勉強 その20少し意味のあるプログラムを作成してみようということで、ファイル選択を行うダイアログウィンドウを作成。選択されたファイルの絶対パスをテキストボックスに表示させる。画面タップかEnterキーでファイル選択またはディレクトリ移…

メッセージの表示

Ruby/Qteの勉強 その19QMessageBoxクラスを使用することでメッセージ用のウィンドウをポップアップさせることができる。メッセージの種類は、.information、.warning、.critical等のメソッドで選択可能。selfより後の引数は、キャプション、本文、ボタン0…

イベントの処理

Ruby/Qteの勉強 その18インスタンスに対してある決められた操作をした場合に、発生するイベントというのがある(らしい) どんなイベントがあるかはQWidget Class ReferenceのProtected Membersの項目に載っている。といっても各サブクラスで全てのイベン…

リストビューでアイテムの複数選択

Ruby/Qteの勉強 その17アイテムを複数選択可能にするには.setSelectionMode(N)メソッドでセレクションモードを変更する。複数選択可能なモードはN=1,2でN=1(Multi)では各アイテムをタップすることで選択/非選択がトグルする。N=2(Extended)ではWindowsでフ…

クリップボードの使用

Ruby/Qteの勉強 その16クリップボードを使用するにはクリップボードのインスタンスを作成して、それに対してメソッドで情報のやりとりを行えば良い。 @cb = QApplication::clipboard 今回は2個のボタンにそれぞれテキストボックスからクリップボードへの…