hakeの日記

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

qt

リストビューで階層表示

Ruby/Qteの勉強 その15リストビューで階層(ツリー)表示を行うには、QListViewItemの最初の引数に、親にしたいQListViewItemのインスタンスを指定すれば良い。 item1 = QListViewItem.new(@list, "1", "item1") item11 = QListViewItem.new(item1, "11", …

リストビューをつくる(追加)

Ruby/Qteの勉強 その14補足昨日のスクリプトだとアイテムやカラムから外れた部分をタップすると強制終了してしまう。メソッドdispItemに渡されるitemがnilの為だと思う。そこでメソッドdispItemをitemがnil以外の場合のみ表示するように修正 def dispItem(…

リストビューをつくる

Ruby/Qteの勉強 その14リストビュー(表?)を作ってみる、使用するクラスはQListViewである。@listを作成したら、.addColumnメソッドでカラムを追加していく。 @list = QListView.new(self) @list.setGeometry(0,40,635,230) @list.addColumn(tr("カラム…

ウィンドウをつくる その2

Ruby/Qteの勉強 その13昨日のスクリプトにテキストボックス@ebox1をつくり、メソッドopenSubWindow内のサブウィンドウを開いている前後でメッセージを表示させてみる。 sw = SubWindow.new(self) @ebox1.clear #追加 @ebox1.insertLine("Open Sub Window")…

サブウィンドウをつくる

Ruby/Qteの勉強 その12サブウィンドウを作ってみる。サブウィンドウ用のクラスSubWindowはQDialogクラスより派生させて作成するのが普通らしい。サブウィンドウはウィンドウを閉じるボタンをひとつ配置するだけの構成とする。 class SubWindow < QDialog S…

メニューをつくる

Ruby/Qteの勉強 その11メニューバーを作ってみる。構成は 「ファイル」メニューの下に「ファイル1」「終了」の2項目 「表示」メニューの下に「表示1」「表示2」の2項目 を作成。

コンボボックスをつくる

Ruby/Qteの勉強 その10コンボボックスの作成はQComboBoxを用いる。項目の追加は.insertItemを使用 @comb1 = QComboBox.new(self) @comb1.insertItem(tr("項目1")) @comb1.insertItem(tr("項目2")) @comb1.insertItem(tr("項目3")) 現在どの項目が選択さ…

チェックボックスとラジオボタン

Ruby/Qteの勉強 その9チェックボックスやラジオボタンを作成する場合には以下の様におこなう @cbox1 = QCheckBox.new(tr("チェック1"),self) @radio1 = QRadioButton.new(tr("ラジオ1"),self)これでペンにより選択/解除を行うことができる。現在の状態を…

続・自動で配置させる

Ruby/Qteの勉強 その8QHBoxやQVBoxを使用してもう少し複雑に配置をさせる方法。 昨日のスクリプトで使用したテキストボックスの集合h1とv1を更に縦に並べてみる。 v = QVBox.new(self) setCentralWidget(v) #これがないと上手くいかない h1 = QHBox.new(v) …

自動で配置させる

Ruby/Qteの勉強 その7テキストボックスやボタン等を配置する場合には.setGeometryを使用しますが、もっと単純に横(あるいは縦)に並べる場合はQHBox(あるいはQHVBox)クラスを使用する。 h1 = QHBox.new(self) setCentralWidget(h1) #これがないと上手くい…

ボタンを無効にする

Ruby/Qteの勉強 その6なにかの処理をさせている間、誤ってボタンを押さないように無効にしたい場合がある。その場合は @pb1.setEnabled(false) の様にすると無効化できる。 昨日のスクリプトにボタン@pb2を追加して@pb1の有効/無効を変化させてみる。@pb1の…

ボタンをつくる

Ruby/Qteの勉強 その5以下のようにQPushButtonクラスを使用することでボタンをつくることができる。 @pb1 = QPushButton.new(tr("ボタン1"),self) @pb1.setGeometry(320,5,100,30) このままでは何も動作しないのでボタンをクリックしたときに実行させるメ…

テキストを取得

Ruby/Qteの勉強 その4 ラベルで書いた文字やテキストボックス内の文字を取得するのには.text.local8Bit.to_strを用いる。文字が半角英数字のみの場合は.text.to_strでも可です。

テキストボックスをつくる

Ruby/Qteの勉強 その3 @ebox1 = QLineEdit.new(self) @ebox1.setGeometry(0,250,635,30) @ebox1.setText(tr("あいうえお")) @ebox2 = QMultiLineEdit.new(self) @ebox2.setGeometry(0,280,635,120) @ebox2.setText(tr("あいうえお\nかきくけこ")) @ebox2.in…

文字を表示させてみる

Ruby/Qteの勉強。 昨日のsuperの次に setCaption(tr("サンプル")) QLabel.new(tr("こんにちは"),self) を追加、実行。 タイトルバーに“サンプル”と表示されて、本体に“こんにちは”と表示される。本体の方を長い文字に変えてみると全部表示されなくなってしま…

何もしないプログラム

Ruby/Qteの勉強。 あちこちの情報を参考に、まずは一番簡単な何もないウィンドウが開くだけのプログラム、これが全ての基本ということで。ホーム画面にアイコン登録しての実行も可能だけれどもターミナルから実行したほうがエラーメッセージが見えてデバッグ…

RubyおよびRuby/Qte関連のサイト

オブジェクト指向言語Ruby(http://www.ruby-lang.org/ja/) 日本Rubyの会公式Wiki(http://jp.rubyist.net/) Ruby/Qte普及委員会 (http://noir.s7.xrea.com/rubyqte/) masaya's DIGITAL GOODS (http://www.ab.cyberhome.ne.jp/~masaya/) 逆引き Ruby/Qt (http:…