質問するログイン新規登録

質問編集履歴

4

書式の改善

2016/12/13 14:19

投稿

退会済みユーザー
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

書式の改善

2016/12/13 14:18

投稿

退会済みユーザー
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

エラーメッセージと試したことを修正しました。

2016/12/13 14:06

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- 【RubyGTK3】Gio::Iconの書き方教えてくださ
1
+ 【RubyGTK3】RubyGTK3使ったプログラムのexe化につ
body CHANGED
@@ -1,14 +1,34 @@
1
1
  ###前提・実現したいこと
2
2
  Rubyでデスクトップマスコット(現時点では透過pngを画面に表示するだけ)の制作を目指しています。
3
- とりあえずできあがったプログラムをocraでexe化しようとすると
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
- Gio::Icon書き方が分かりません。も分かる方がいらっしゃっ教えていただけるとありがたいです。
6
+ 問題を解決したいです。現時点では解決不可能な問題である場合は、そのように教えていただけるとありがたいです。
8
7
 
9
8
  ###発生している問題・エラーメッセージ
10
- `validate_arguments': Gio::Icon.hash: wrong number of arguments (0 for 1) (ArgumentError)
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

質問の内容をより具体的にしました。

2016/12/13 14:04

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- RubyGTK3を使ったプログラムexe化につい
1
+ RubyGTK3Gio::Icon書き方を教えください。
body CHANGED
@@ -1,33 +1,55 @@
1
1
  ###前提・実現したいこと
2
2
  Rubyでデスクトップマスコット(現時点では透過pngを画面に表示するだけ)の制作を目指しています。
3
- 実現したいこはWidnowsRubyとgtk3を使てつくったプログラムをocraでexe化するとい
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
- 途中で`validate_arguments': Gio::Icon.hash: wrong number of arguments (0 for 1)というものが出て
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
- image = Gtk::Image.new(:file => "image.png")
29
+ window.signal_connect("destroy"){Gtk.main_quit} #2.ウィンドウがdestroyされたら終了。
22
- window.add(image)
23
30
 
24
- window.show_all
31
+ window.decorated = false #3.ウィンドウの枠を消します。trueにすると表示されます。
25
32
 
26
- Gtk.main
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