2010年8月1日日曜日

ruby1.9 + TK

Ruby191\lib\ruby\1.9.1にコピーする。
SpecTclをdownloadする
guibuider-win32-ix86-20070129.exeを実行する。ruby/tkを選択する。
r
bottonをキャンバス?に貼り付けて、ダブルクリックでPropertiesが開くので-textを漢字ボタンに変更した。


Save Asでbottontst名で保存した。
bottontst.ui
bottontst.rb
bottontst_ui.rbのfileができる。
C:\rubyapi\tk\buttontst>ruby -Ku buttontst.rb
C:/rubyapi/tk/buttontst/buttontst_ui.rb:10: warning: variable $KCODE is no longer effective; ignored



>ruby bottonst.rbで実行するには、

#bottontst.rb
# -*- coding: utf-8 -*-を追加

# -*- coding: utf-8 -*-
# buttontst.rb --
#
# UI generated by GUI Builder Build 146 on 2010-08-01 17:21:51 from:
# C:/rubyapi/tk/buttontst/buttontst.ui
# This file is auto-generated. Only the code within
# '# BEGIN USER CODE (global|class)'
# '# END USER CODE (global|class)'
# and code inside the callback defs will be round-tripped.
#

# Add script's directory to lib load path
$:.unshift File.dirname(__FILE__)
require 'buttontst_ui'
require 'tk'

# BEGIN USER CODE global

# END USER CODE global

class Buttontst <>

# BEGIN CALLBACK CODE
# ONLY EDIT CODE INSIDE THE def FUNCTIONS.

# _button_1_command --
#
# Callback to handle _button_1 widget option -command
def _button_1_command(*args)
#<= ここにbutton_1の処理を記載
end

# END CALLBACK CODE

# BEGIN USER CODE class
#<=ここにclass コードを記載
# END USER CODE class
end

# Standalone Code Initialization - DO NOT EDIT
#
if $0 == __FILE__
begin
userinit
rescue NameError
# Ignore userinit not being defined
end
root = Tk.root
root.title('buttontst')
dlg = Buttontst.new(root)

#root.protocol('WM_DELETE_WINDOW', lambda { exit })
begin
run
rescue NameError
# Ignore run not being defined
end
Tk.mainloop
end

#buttontst_ui.rb
読み取り専用のチェックをはずす。
# -*- coding: utf-8 -*-を追加
   $KCODE = 'U'をコメントアウトする。



# -*- coding: utf-8 -*-
# buttontst_ui.rb --
#
# UI generated by GUI Builder Build 146 on 2010-08-01 18:15:30 from:
# C:/rubyapi/tk/buttontst/buttontst.ui
# THIS IS AN AUTOGENERATED FILE AND SHOULD NOT BE EDITED.
# The associated callback file should be modified instead.
#

# Use UTF-8 encoding
#$KCODE = 'U'

require 'tk'

class Buttontst_ui
def initialize(root)
@root = root


# Widget Initialization
@_button_1 = TkButton.new(@root,
'text' => "漢字ボタン"
)

# widget commands

@_button_1.configure(
'command' => lambda { _button_1_command }
)


# Geometry Management
@_button_1.grid(
'in' => @root,
'column' => 1,
'row' => 1,
'columnspan' => 1,
'ipadx' => 0,
'ipady' => 0,
'padx' => 0,
'pady' => 0,
'rowspan' => 1,
'sticky' => ""
)


# Resize Behavior
TkGrid.rowconfigure(@root, 1, 'weight' => 0, 'minsize' => 40, 'pad' => 0)
TkGrid.rowconfigure(@root, 2, 'weight' => 0, 'minsize' => 40, 'pad' => 0)
TkGrid.columnconfigure(@root, 1, 'weight' => 0, 'minsize' => 40, 'pad' => 0)
TkGrid.columnconfigure(@root, 2, 'weight' => 0, 'minsize' => 40, 'pad' => 0)
end
end




0 件のコメント:

コメントを投稿