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つがインストールされた模様。
しかし、各解説記事中のサンプルソースを実行してもエラーが出る。
_uninitialized constant Qt::Thread - Issue #63 - ryanmelt/qtbindings - GitHub
「次期バージョンでは直すよ」と書かれてるようだけど、不具合報告がされているのが2013年。何時頃、直されるのだろうか…。
とりあえず、
Rubyインストールフォルダ\lib\ruby\gems\1.9.1\gems\qtbindings-4.8.5.2-x86-mingw32\examples\ 以下にサンプルソースがたくさん入ってる模様。
_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\ 以下にサンプルソースがたくさん入ってる模様。
[ ツッコむ ]
以上、1 日分です。