mieki256's diary



2014/08/26(火) [n年前の日記]

#1 [ruby] qtbindingsをインストール

RubyでGUIアプリを作れるライブラリは無いのかなとググってたらqtbindingsなるライブラリに遭遇したので試しにインストールしてみたり。RubyでQtを使うライブラリ、という認識でいいのだろうか。ちなみに環境は、Windows7 x64 + Ruby 1.9.3。

_QtをRubyで扱おう(qtbindings) - Laboratory of Scarlet
_Rubyはじめました: RailsInstallerのrubyにgemで「qtbindings」をインストールする
_Rubyはじめました: rubyのqtbindingsとQtのGUIツール(designer.exe)でデザインしGUIを作る

gem install qtbindings ですんなりインストールできた。以下の2つがインストールされた模様。
qtbindings (4.8.5.2 x86-mingw32)
qtbindings-qt (4.8.5 x86-mingw32)

しかし、各解説記事中のサンプルソースを実行してもエラーが出る。
C:/Ruby/Ruby193mingw/lib/ruby/gems/1.9.1/gems/qtbindings-4.8.5.2-x86-mingw32/lib/Qt4.rb:30:in `const_missing': uninitialized constant Qt::RubyThreadFix::Queue (NameError)
        from C:/Ruby/Ruby193mingw/lib/ruby/gems/1.9.1/gems/qtbindings-4.8.5.2-x86-mingw32/lib/Qt4.rb:30:in `<class:RubyThreadFix>'
        from C:/Ruby/Ruby193mingw/lib/ruby/gems/1.9.1/gems/qtbindings-4.8.5.2-x86-mingw32/lib/Qt4.rb:26:in `<module:Qt>'
        from C:/Ruby/Ruby193mingw/lib/ruby/gems/1.9.1/gems/qtbindings-4.8.5.2-x86-mingw32/lib/Qt4.rb:25:in `<top (required)>'
        from C:/Ruby/Ruby193mingw/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from C:/Ruby/Ruby193mingw/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from C:/Ruby/Ruby193mingw/lib/ruby/gems/1.9.1/gems/qtbindings-4.8.5.2-x86-mingw32/lib/Qt.rb:1:in `<top (required)>'
        from C:/Ruby/Ruby193mingw/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
        from C:/Ruby/Ruby193mingw/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
        from C:/Ruby/Ruby193mingw/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
        from main.rb:26:in `<main>'
_Ubuntu 13.04: NameError: uninitialized constant Qt::RubyThreadFix::Queue - Issue #69 - ryanmelt/qtbindings - GitHub
_uninitialized constant Qt::Thread - Issue #63 - ryanmelt/qtbindings - GitHub

「次期バージョンでは直すよ」と書かれてるようだけど、不具合報告がされているのが2013年。何時頃、直されるのだろうか…。

とりあえず、
require 'thread'
require 'Qt'
てな感じで、require 'thread' を追加すればエラーが出ないらしい。あるいは、ruby -r thread main.rb といった形で実行すればいいのかな。わからんけど。

Rubyインストールフォルダ\lib\ruby\gems\1.9.1\gems\qtbindings-4.8.5.2-x86-mingw32\examples\ 以下にサンプルソースがたくさん入ってる模様。

以上です。

過去ログ表示

Prev - 2014/08 - Next
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project