Hatena::ブログ(Diary)

はけの徒然日記 このページをアンテナに追加 RSSフィード

2005 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 04 | 05 | 08 | 09 | 10 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 | 11 |
2011 | 01 | 02 | 03 | 04 | 11 | 12 |
2012 | 02 | 03 | 05 |
2014 | 02 | 03 | 04 | 05 | 12 |
2015 | 05 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 04 | 05 | 08 | 09 | 11 | 12 |
2017 | 01 | 02 | 03 | 04 |

2005-11-08(Tue)

リッチテキストブラウザ

Ruby/Qte勉強 その36

Cafe de Paisonのサンプルを参考に簡単なリッチテキストブラウザを作ってみる。

f:id:hake:20051108205106j:image

ブラウザにはQTextBrowserのオブジェクトを使用、上部にボタンを配置してそれぞれにbackward、home、forwardのメソッドを指定している。@tbのメソッドを直接connectの中に書けそうな気もしますがやり方が不明だったので、一旦selfのメソッドを介して呼び出しています。デフォルトのままだと日本語文字化けするのでQMimeSourceFactoryのオブジェクトでMIMEタイプの設定をしている。最初に表示するページはsetSourceで指定。

#!/usr/bin/env ruby

require "qte"
require "qpe"
include Qte
include Qpe

class SampleWindow < QMainWindow
   def initialize()
      super()
      setCaption(tr("サンプル"))

      @v = QVBox.new(self)
         @msg = QLabel.new("RichTextBrowser Sample", @v)
         @h = QHBox.new(@v)
            # 画面上部に移動ボタンを配置
            @pbprev = QPushButton.new(tr("戻る"), @h)
            connect(@pbprev, QSIGNAL("clicked()"), self, 'backward')
            @pbhome = QPushButton.new(tr("ホーム"), @h)
            connect(@pbhome, QSIGNAL("clicked()"), self, 'home')
            @pbnext = QPushButton.new(tr("進む"), @h)
            connect(@pbnext, QSIGNAL("clicked()"), self, 'forward')
         @tb = QTextBrowser.new(@v)
      setCentralWidget(@v)

      # 拡張子とMIMEタイプの関連付けを行う
      @msf = QMimeSourceFactory.new()
      @msf.setExtensionType("html", "text/html;charset=eucJP")
      @msf.setExtensionType("htm", "text/html;charset=eucJP")
      # MIMEソースファクトリの設定
      @tb.setMimeSourceFactory(@msf)
      # ホームページ表示
      @tb.setSource('/home/zaurus/Documents/Web_Files/Pagememo_Files/qtdoc/index.html')
   end

   def home
      @tb.home
   end
   def backward
      @tb.backward
   end
   def forward
      @tb.forward
   end

end

$defaultCodec = QTextCodec.codecForName("utf8")
app = QPEApplication.new([$0]+ARGV)
app.setDefaultCodec($defaultCodec)
QApplication.setFont(QFont.new("lcfont", 18))
app.showMainWidget(SampleWindow.new)
app.exec

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/hake/20051108/p1