質問編集履歴
4
書式の改善
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -3,7 +3,7 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            できあがったプログラムをocraでexe化しようとすると
         
     | 
| 
       4 
4 
     | 
    
         
             
            「`validate_arguments': Gio::Icon.hash: wrong number of arguments (0 for 1)」が発生します。
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
            この問題を解決したいです。 
     | 
| 
      
 6 
     | 
    
         
            +
            この問題を解決したいです。
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            ###発生している問題・エラーメッセージ
         
     | 
| 
       9 
9 
     | 
    
         
             
            ```Ruby
         
     | 
3
書式の改善
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -72,8 +72,7 @@ 
     | 
|
| 
       72 
72 
     | 
    
         
             
            [ここ](http://rubyonwindows.blogspot.jp/2009/05/ocra-compiler-tips-tricks-and-gotchas.html)を参考にプログラムを起動しないでexe化してみました。
         
     | 
| 
       73 
73 
     | 
    
         
             
            結果:exe化はできたが「require : cannnot load such file -- gtk3(LoadError)」が発生して動かない。
         
     | 
| 
       74 
74 
     | 
    
         
             
            Rubyのバージョンを変更してみました。Rubyは全て32bit版をRubyInstllerからダウンロードしました。
         
     | 
| 
       75 
     | 
    
         
            -
            結果:2.0.0だとGTK3をダウンロードしているところでエラーが発生します。2.1.9, 2.2.6, 2.3.3はGTK3をダウンロードして
         
     | 
| 
      
 75 
     | 
    
         
            +
            結果:2.0.0だとGTK3をダウンロードしているところでエラーが発生します。2.1.9, 2.2.6, 2.3.3はGTK3をダウンロードして上のプログラムを動かすことはできましたが、ocraを使うと同じエラーが発生します。
         
     | 
| 
       76 
     | 
    
         
            -
               上のプログラムを動かすことはできましたが、ocraを使うと同じエラーが発生します。
         
     | 
| 
       77 
76 
     | 
    
         | 
| 
       78 
77 
     | 
    
         
             
            ###補足情報(言語/FW/ツール等のバージョンなど)
         
     | 
| 
       79 
78 
     | 
    
         
             
            ruby 2.3.1
         
     | 
2
エラーメッセージと試したことを修正しました。
    
        title	
    CHANGED
    
    | 
         @@ -1,1 +1,1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            【RubyGTK3】 
     | 
| 
      
 1 
     | 
    
         
            +
            【RubyGTK3】RubyGTK3を使ったプログラムのexe化について
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -1,14 +1,34 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ###前提・実現したいこと
         
     | 
| 
       2 
2 
     | 
    
         
             
            Rubyでデスクトップマスコット(現時点では透過pngを画面に表示するだけ)の制作を目指しています。
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
            できあがったプログラムをocraでexe化しようとすると
         
     | 
| 
       4 
     | 
    
         
            -
            「`validate_arguments': Gio::Icon.hash: wrong number of arguments (0 for 1)」が発生し 
     | 
| 
      
 4 
     | 
    
         
            +
            「`validate_arguments': Gio::Icon.hash: wrong number of arguments (0 for 1)」が発生します。
         
     | 
| 
       5 
     | 
    
         
            -
            上手くいかない。
         
     | 
| 
       6 
5 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
      
 6 
     | 
    
         
            +
            この問題を解決したいです。現時点では解決不可能な問題である場合は、そのように教えていただけるとありがたいです。
         
     | 
| 
       8 
7 
     | 
    
         | 
| 
       9 
8 
     | 
    
         
             
            ###発生している問題・エラーメッセージ
         
     | 
| 
       10 
     | 
    
         
            -
            ` 
     | 
| 
      
 9 
     | 
    
         
            +
            ```Ruby
         
     | 
| 
      
 10 
     | 
    
         
            +
            === Loading script to check dependencies
         
     | 
| 
      
 11 
     | 
    
         
            +
            === Attempting to trigger autoload of Gem::ConfigFile
         
     | 
| 
      
 12 
     | 
    
         
            +
            === Attempting to trigger autoload of Gem::DependencyList
         
     | 
| 
      
 13 
     | 
    
         
            +
            === Attempting to trigger autoload of Gem::DependencyResolver
         
     | 
| 
      
 14 
     | 
    
         
            +
            === Attempting to trigger autoload of Gem::Installer
         
     | 
| 
      
 15 
     | 
    
         
            +
            === Attempting to trigger autoload of Gem::Licenses
         
     | 
| 
      
 16 
     | 
    
         
            +
            === Attempting to trigger autoload of Gem::RequestSet
         
     | 
| 
      
 17 
     | 
    
         
            +
            === Attempting to trigger autoload of Gem::Source
         
     | 
| 
      
 18 
     | 
    
         
            +
            === Attempting to trigger autoload of Gem::SourceList
         
     | 
| 
      
 19 
     | 
    
         
            +
            === Attempting to trigger autoload of Gem::SpecFetcher
         
     | 
| 
      
 20 
     | 
    
         
            +
            C:/Ruby23/lib/ruby/gems/2.3.0/gems/gobject-introspection-3.1.0-x86-mingw32/lib/gobject-introspection/loader.rb:640:in `validate_arguments': Gio::Icon.hash: wrong number of arguments (0 for 1) (ArgumentError)
         
     | 
| 
      
 21 
     | 
    
         
            +
                    from C:/Ruby23/lib/ruby/gems/2.3.0/gems/gobject-introspection-3.1.0-x86-mingw32/lib/gobject-introspection/loader.rb:589:in `build'
         
     | 
| 
      
 22 
     | 
    
         
            +
                    from C:/Ruby23/lib/ruby/gems/2.3.0/gems/gobject-introspection-3.1.0-x86-mingw32/lib/gobject-introspection/loader.rb:101:in `block in define_singleton_method'
         
     | 
| 
      
 23 
     | 
    
         
            +
                    from C:/Ruby23/lib/ruby/gems/2.3.0/gems/ocra-1.3.6/bin/ocra:470:in `block (2 levels) in attempt_load_autoload'
         
     | 
| 
      
 24 
     | 
    
         
            +
                    from C:/Ruby23/lib/ruby/gems/2.3.0/gems/ocra-1.3.6/bin/ocra:469:in `each'
         
     | 
| 
      
 25 
     | 
    
         
            +
                    from C:/Ruby23/lib/ruby/gems/2.3.0/gems/ocra-1.3.6/bin/ocra:469:in `block in attempt_load_autoload'
         
     | 
| 
      
 26 
     | 
    
         
            +
                    from C:/Ruby23/lib/ruby/gems/2.3.0/gems/ocra-1.3.6/bin/ocra:463:in `loop'
         
     | 
| 
      
 27 
     | 
    
         
            +
                    from C:/Ruby23/lib/ruby/gems/2.3.0/gems/ocra-1.3.6/bin/ocra:463:in `attempt_load_autoload'
         
     | 
| 
      
 28 
     | 
    
         
            +
                    from C:/Ruby23/lib/ruby/gems/2.3.0/gems/ocra-1.3.6/bin/ocra:715:in `build_exe'
         
     | 
| 
      
 29 
     | 
    
         
            +
                    from C:/Ruby23/lib/ruby/gems/2.3.0/gems/ocra-1.3.6/bin/ocra:1177:in `block in <top (required)>'
         
     | 
| 
       11 
30 
     | 
    
         | 
| 
      
 31 
     | 
    
         
            +
            ```
         
     | 
| 
       12 
32 
     | 
    
         | 
| 
       13 
33 
     | 
    
         
             
            ###該当のソースコード
         
     | 
| 
       14 
34 
     | 
    
         
             
            ```Ruby
         
     | 
| 
         @@ -48,8 +68,13 @@ 
     | 
|
| 
       48 
68 
     | 
    
         
             
            ###試したこと
         
     | 
| 
       49 
69 
     | 
    
         
             
            [ここ](http://www.rubydoc.info/gems/gtk3/Gtk/Image)に書いてあることを参考にして書いてみました。
         
     | 
| 
       50 
70 
     | 
    
         
             
            結果:undefined method `new_for_string' for Gio::Icon:Module (NoMethodError)が発生した。
         
     | 
| 
      
 71 
     | 
    
         
            +
            [ここ](https://docs.omniref.com/ruby/gems/gio2/1.1.4/x86-mingw32/symbols/Gio::Icon)を探してみましたが「Gio::Icon.hash」は見つかりませんでした。
         
     | 
| 
      
 72 
     | 
    
         
            +
            [ここ](http://rubyonwindows.blogspot.jp/2009/05/ocra-compiler-tips-tricks-and-gotchas.html)を参考にプログラムを起動しないでexe化してみました。
         
     | 
| 
      
 73 
     | 
    
         
            +
            結果:exe化はできたが「require : cannnot load such file -- gtk3(LoadError)」が発生して動かない。
         
     | 
| 
      
 74 
     | 
    
         
            +
            Rubyのバージョンを変更してみました。Rubyは全て32bit版をRubyInstllerからダウンロードしました。
         
     | 
| 
      
 75 
     | 
    
         
            +
            結果:2.0.0だとGTK3をダウンロードしているところでエラーが発生します。2.1.9, 2.2.6, 2.3.3はGTK3をダウンロードして
         
     | 
| 
      
 76 
     | 
    
         
            +
               上のプログラムを動かすことはできましたが、ocraを使うと同じエラーが発生します。
         
     | 
| 
       51 
77 
     | 
    
         | 
| 
       52 
     | 
    
         
            -
             
     | 
| 
       53 
78 
     | 
    
         
             
            ###補足情報(言語/FW/ツール等のバージョンなど)
         
     | 
| 
       54 
79 
     | 
    
         
             
            ruby 2.3.1
         
     | 
| 
       55 
80 
     | 
    
         
             
            gtk3 3.1.0
         
     | 
1
質問の内容をより具体的にしました。
    
        title	
    CHANGED
    
    | 
         @@ -1,1 +1,1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            【 
     | 
| 
      
 1 
     | 
    
         
            +
            【RubyGTK3】Gio::Iconの書き方を教えてください。
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -1,33 +1,55 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ###前提・実現したいこと
         
     | 
| 
       2 
2 
     | 
    
         
             
            Rubyでデスクトップマスコット(現時点では透過pngを画面に表示するだけ)の制作を目指しています。
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
            とりあえずできあがったプログラムをocraでexe化しようとすると
         
     | 
| 
      
 4 
     | 
    
         
            +
            「`validate_arguments': Gio::Icon.hash: wrong number of arguments (0 for 1)」が発生して
         
     | 
| 
      
 5 
     | 
    
         
            +
            上手くいかない。
         
     | 
| 
       4 
6 
     | 
    
         | 
| 
      
 7 
     | 
    
         
            +
            Gio::Iconの書き方が分かりません。もし分かる方がいらっしゃったら教えていただけるとありがたいです。
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
       5 
9 
     | 
    
         
             
            ###発生している問題・エラーメッセージ
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
      
 10 
     | 
    
         
            +
            `validate_arguments': Gio::Icon.hash: wrong number of arguments (0 for 1) (ArgumentError)
         
     | 
| 
       7 
     | 
    
         
            -
            上手くいかない。
         
     | 
| 
       8 
11 
     | 
    
         | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
       9 
13 
     | 
    
         
             
            ###該当のソースコード
         
     | 
| 
      
 14 
     | 
    
         
            +
            ```Ruby
         
     | 
| 
       10 
15 
     | 
    
         
             
            require"gtk3"
         
     | 
| 
      
 16 
     | 
    
         
            +
            =begin
         
     | 
| 
      
 17 
     | 
    
         
            +
            これは背景が透明なウィンドウを表示して
         
     | 
| 
      
 18 
     | 
    
         
            +
            そこに画像を表示するプログラムです
         
     | 
| 
      
 19 
     | 
    
         
            +
            バツボタンが表示されないので、下のアイコンから閉じてください。
         
     | 
| 
      
 20 
     | 
    
         
            +
            動かすのに必要なもの
         
     | 
| 
      
 21 
     | 
    
         
            +
            ・Ruby
         
     | 
| 
      
 22 
     | 
    
         
            +
            ・gtk3
         
     | 
| 
      
 23 
     | 
    
         
            +
            ・image.pngという名前の画像(6.のファイル名を変更するなら名前は何でもよい。)
         
     | 
| 
      
 24 
     | 
    
         
            +
            =end
         
     | 
| 
       11 
25 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
            window = Gtk::Window.new
         
     | 
| 
      
 26 
     | 
    
         
            +
            window = Gtk::Window.new                              #1.ウィンドウを作ります。
         
     | 
| 
       13 
27 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
            window.signal_connect("destroy"){Gtk.main_quit}
         
     | 
| 
       15 
     | 
    
         
            -
            window.decorated = false
         
     | 
| 
       16 
     | 
    
         
            -
            window.resizable = false
         
     | 
| 
       17 
     | 
    
         
            -
            window.keep_above = true
         
     | 
| 
       18 
     | 
    
         
            -
            color = Gdk::RGBA::new(0, 0, 0, 0)
         
     | 
| 
       19 
     | 
    
         
            -
            window.override_background_color(0, color)
         
     | 
| 
       20 
28 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
      
 29 
     | 
    
         
            +
            window.signal_connect("destroy"){Gtk.main_quit}       #2.ウィンドウがdestroyされたら終了。
         
     | 
| 
       22 
     | 
    
         
            -
            window.add(image)
         
     | 
| 
       23 
30 
     | 
    
         | 
| 
       24 
     | 
    
         
            -
            window. 
     | 
| 
      
 31 
     | 
    
         
            +
            window.decorated = false                              #3.ウィンドウの枠を消します。trueにすると表示されます。
         
     | 
| 
       25 
32 
     | 
    
         | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
      
 33 
     | 
    
         
            +
            window.keep_above = true                              #4.ウィンドウを常に最前面に表示するようにします。
         
     | 
| 
       27 
34 
     | 
    
         | 
| 
      
 35 
     | 
    
         
            +
            color = Gdk::RGBA::new(0, 0, 0, 0)                    #5.色を決めます。数値は0 ~ 1で設定します。数値の順番はRGBAでAが0なら他は何でもよいです。
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            window.override_background_color(0, color)            #6.ウィンドウの背景色を変更します。0にしないと背景色が変わりません。
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
            image = Gtk::Image.new(:file => "image.png")          #7.画像を読み込みます。
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            window.add(image)                                     #8.ウィンドウに加えます。
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
            window.show_all                                       #9.ウィンドウに載っているものをすべて表示します。
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
            Gtk.main                                              #10.ループ
         
     | 
| 
      
 46 
     | 
    
         
            +
            ```
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
       28 
48 
     | 
    
         
             
            ###試したこと
         
     | 
| 
      
 49 
     | 
    
         
            +
            [ここ](http://www.rubydoc.info/gems/gtk3/Gtk/Image)に書いてあることを参考にして書いてみました。
         
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
      
 50 
     | 
    
         
            +
            結果:undefined method `new_for_string' for Gio::Icon:Module (NoMethodError)が発生した。
         
     | 
| 
       30 
51 
     | 
    
         | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
       31 
53 
     | 
    
         
             
            ###補足情報(言語/FW/ツール等のバージョンなど)
         
     | 
| 
       32 
54 
     | 
    
         
             
            ruby 2.3.1
         
     | 
| 
       33 
55 
     | 
    
         
             
            gtk3 3.1.0
         
     |