Tk.getOpenFile
Tk.getSaveFile
Tk.chooseDirectory
Tk.chooseColor
Tk.messageBox
Tk.getOpenFile
require 'tk' root = TkRoot.new root.title = "漢字のタイトル" button_click = Proc.new { files=Tk.getOpenFile( #files=Tk::getOpenFile( #←これでも良い filetypes:"{{Textファイル} {.txt}} {{Rubyファイル} {.rb}} {{全てのファイル} {*}}", #スペースの区切り位置に注意 title:"テキストファイルを開く", #ダイアログのタイトル initialdir:"c:\\users\\owner\\documents", #指定なしまたは不正パスの場合「ピクチャ」フォルダになる(Windows10) multiple:"true", #複数ファイル指定可能 defaultextension:"rb" #拡張子が省略されて入力された場合のデフォルトの拡張子(OpenFileの時は意味ないので使わないほうが良い) ) puts(files) safiles=files.split(/ /) # multipleで複数選択可能の場合、ファイルパスはスペース区切りで得られる(途中ディレクトリ名またはファイル名にスペースが含まれる場合は注意) puts(safiles) } button = TkButton.new(root) do text "button" pack("side" => "left", "padx"=> "50", "pady"=> "50") end button.command = button_click #button.comman = button_click ←これでもOK Tk.mainloop
Tk.getSaveFile
require 'tk' root = TkRoot.new root.title = "漢字のタイトル" button_click = Proc.new { files=Tk.getSaveFile( #files=Tk::getOpenFile( #←これでも良い filetypes:"{{Textファイル} {.txt}} {{Rubyファイル} {.rb}} {{全てのファイル} {*}}", #スペースの区切り位置に注意 title:"テキストファイルを開く", #ダイアログのタイトル initialdir:"c:\\users\\owner\\documents\\Visual Studio Code", #指定なしまたは不正パスまたはc:\\users\\owner\\documentsの場合OneDrive(SkyDrive)の「ドキュメント」フォルダになる(Windows10) defaultextension:"rb" #拡張子が省略されて入力された場合のデフォルトの拡張子 ) puts(files) safiles=files.split(/ /) # multipleで複数選択可能の場合、ファイルパスはスペース区切りで得られる(途中ディレクトリ名またはファイル名にスペースが含まれる場合は注意) puts(safiles) } button = TkButton.new(root) do text "button" pack("side" => "left", "padx"=> "50", "pady"=> "50") end button.command = button_click #button.comman = button_click ←これでもOK Tk.mainloop
Tk.chooseDirectory
require 'tk' root = TkRoot.new root.title = "漢字のタイトル" button_click = Proc.new { folder=Tk.chooseDirectory( #folder=Tk::chooseDirectory( #←これでも良い title:"フォルダ指定", #ダイアログのタイトル initialdir:"c:\\Users\\owner\\Documents\\Visual Studio Code" #指定なしまたは不正パスの場合「OneDrive(SkyDrive)ドキュメント」フォルダになる(Windows10) ) puts(folder) } button = TkButton.new(root) do text "button" pack("side" => "left", "padx"=> "50", "pady"=> "50") end button.command = button_click #button.comman = button_click ←これでもOK Tk.mainloop
Tk.chooseColor
require 'tk' root = TkRoot.new root.title = "漢字のタイトル" button_click = Proc.new { color=Tk.chooseColor( #color=Tk::chooseColor( #←これでも良い title:"色の選択", #ダイアログのタイトル initialcolor:"#ff0000" #デフォルトの色 ) puts(color) } button = TkButton.new(root) do text "button" pack("side" => "left", "padx"=> "50", "pady"=> "50") end button.command = button_click #button.comman = button_click ←これでもOK Tk.mainloop
Tk.messageBox
require 'tk' root = TkRoot.new root.title = "漢字のタイトル" button_click = Proc.new { ans=Tk.messageBox( #color=Tk::messageBox( #←これでも良い title:"メッセージ", #ダイアログのタイトル type:"yesnocancel", #ok,okcancel,yesno,yesnocancel,retrycancel,abortretryignore icon:"error", #info,error,question,warning message:"いずれかのボタンを押してください" ) puts(ans) } button = TkButton.new(root) do text "button" pack("side" => "left", "padx"=> "50", "pady"=> "50") end button.command = button_click #button.comman = button_click ←これでもOK Tk.mainloop