2008-09-03 7 views

Répondre

1

est ici d'une manière excessivement paresseux pour le faire:

#!/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 

Cela dépend de vous être sur une boîte * nix (ou ayant l'ensemble environnement $ HOME variable). Les lignes qui répondent précisément à votre question sont:

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

Ici, le premier argument est la fenêtre qui est propriétaire de la boîte de dialogue, le second est le titre de la fenêtre, et le troisième est le chemin par défaut pour commencer à (vous avez besoin du "/" à la fin, sinon cela va démarrer un répertoire plus haut avec le dossier personnel de l'utilisateur sélectionné). Découvrez this link pour plus d'informations sur FXFileDialog.

Questions connexes