GTK+ でカラーパレットを作る(Ruby)
いつも色がうまく選べないので、自分用に GTK+ を使って色を試すことのできるコマンドを作ってみました。Gem 'thor', 'gtk2' が必要です。
コード。
color_p
require 'thor' require 'gtk2' class MyWindow < Gtk::Window def initialize super("color palette") set_default_size(250, 250) set_resizable(false) colorsel = Gtk::ColorSelection.new entry = Gtk::Entry.new vbox = Gtk::VBox.new add(vbox) vbox.pack_start(colorsel, false, true, 0) vbox.pack_start(entry, true, true, 0) colorsel.current_color = Gdk::Color.new(0, 0, 0) # カラーパレット変更時 colorsel.signal_connect("color-changed") do |w| c = w.current_color t = "(#{c.red.to_s(16)}, #{c.green.to_s(16)}, #{c.blue.to_s(16)})" entry.set_text(t) end signal_connect("destroy") {Gtk.main_quit} show_all end end class ColorPalette < Thor default_command :select desc 'select', 'Run color palette.' def select w = MyWindow.new Gtk.main end end ColorPalette.start
下のサイトを参考にさせて頂きました。ありがとうございます。
Ruby Entry markup: いち雑記