我想问一下用户在Pharo 4.0中的文件名
通过观察员,我找到了上课
FileDialogWindow
Run Code Online (Sandbox Code Playgroud)
用一种方法
answerFileName
Run Code Online (Sandbox Code Playgroud)
寻找#answerFileName的发件人,我上课了
UITheme
Run Code Online (Sandbox Code Playgroud)
在方法中调用它的位置
chooseFileNameIn: aThemedMorph
title: title
extensions: exts
path: path preview: preview
Run Code Online (Sandbox Code Playgroud)
从那里我来上课
TEasilyThemed
Run Code Online (Sandbox Code Playgroud)
用这个方法
chooseFileName: title extensions: exts path: path preview: preview
Run Code Online (Sandbox Code Playgroud)
从那里我终于上课了
WidgetExamples class >> exampleDialogs
Run Code Online (Sandbox Code Playgroud)
然后我接到电话
WidgetExamples exampleBuilder
chooseFileName: 'Pick a file name'
extensions: nil path: nil preview: nil.
Run Code Online (Sandbox Code Playgroud)
但是一个print it这样的表达并没有给回一个文件名.
调用文件对话框的常规方法是什么?
提到这项服务提到了两个类.
UIManager是各种UI请求的调度程序.
用户界面主题的通用超类.提供以标准方式创建新变形的方法,各种"服务",如文件对话框,消息对话框等,以及定制各种变形外观方面的方法.虽然在概念上是抽象的,但没有代码"缺失".因此,子类应该覆盖他们希望改变的方面.
这两种方法有什么区别?
最简单的方法是使用:
UIManager default chooseFileMatching: nil
Run Code Online (Sandbox Code Playgroud)
您可以将模式指定为:
UIManager default chooseFileMatching: #('*.jpg' '*.png')
Run Code Online (Sandbox Code Playgroud)
您还可以为对话框指定标签:
UIManager default
chooseFileMatching: #('*.jpg' '*.png')
label: 'Please select and image to process'
Run Code Online (Sandbox Code Playgroud)