2008-09-03 3 views

ответ

1

Вот чрезвычайно ленивый способ сделать это:

#!/usr/bin/ruby 
require 'rubygems' 
require 'fox16' 
include Fox 

theApp = FXApp.new 

theMainWindow = FXMainWindow.new(theApp, "Hello") 

theButton = FXButton.new(theMainWindow, "Hello, World!") 
theButton.tipText = "Push Me!" 

iconFile = File.open("icon.jpg", "rb") 
theButton.icon = FXJPGIcon.new(theApp, iconFile.read) 
theButton.iconPosition = ICON_ABOVE_TEXT 
iconFile.close 

theButton.connect(SEL_COMMAND) { 
fileToOpen = FXFileDialog.getOpenFilename(theMainWindow, "window name goes here", `echo $HOME`.chomp + "/") 
} 

FXToolTip.new(theApp) 

theApp.create 

theMainWindow.show 

theApp.run 

Это зависит от вас быть на коробке * NIX (или имея $ HOME переменных окружения набора). Линии, которые конкретно ответить на ваш вопрос, являются:

theButton.connect(SEL_COMMAND) { 
fileToOpen = FXFileDialog.getOpenFilename(theMainWindow, "window name goes here", `echo $HOME`.chomp + "/") 
} 

Здесь первый аргумент является окно, которое владеет диалоговое окно, второй заголовок окна, а третий путь по умолчанию для запуска на (вам нужно «/» в конце, иначе оно запустит каталог выше с выбранной домашней папкой пользователя). Зайдите на страницу this link для получения дополнительной информации о FXFileDialog.

Смежные вопросы