Qt Embedded によるボタンメニュー

昔、Windowsでも動く様に、Qtでも動くバージョンを作っていた気がする…

Qt と QtEmbedded 、色々違うんだよね…

  def select_qt(&block)
    require 'qte'
    require 'qpe'
    @a = Qpe::QPEApplication.new([$0]+ARGV)
    @a.setDefaultCodec(QTextCodec::codecForName("utf-8"))
    @vbox = QVBox.new
    @vbox.setMargin(10)
    @a.setMainWidget(@vbox)
    @b = Array.new(@menu.size)
    if block
      @cb = block
    else
      @cb = proc{|i|@ret=i}
    end
    @menu.size.times do |i|
      u8str = NKF.nkf("-Sw",@menu[i])
      @b[i] = QPushButton.new(tr("  "+u8str), @vbox)
      eval("def callBack#{i};"+
             "@cb.call(#{i});"+
             "@b[#{i}].setText(tr(\"#\"+\'#{u8str}\'));"+
             "end")
      connect(@b[i], QSIGNAL('clicked()'), @a, "callBack#{i}")
    end
    @vbox.show()
    @a.exec
    @ret
  end