我正在尝试将对话框添加到带有精灵的小型应用程序中。它是一个打开文件对话框,应在单击标题栏按钮时打开。
Genie 中缺少示例,所以我现在正在尝试从 vala 中改编一些内容。但是,我发现的所有示例都使用了我无法转换为 Genie 的 switch 命令。
这是vala代码:
public void on_open_image (Button self) {
var filter = new FileFilter ();
var dialog = new FileChooserDialog ("Open image",
window,
FileChooserAction.OPEN,
Stock.OK, ResponseType.ACCEPT,
Stock.CANCEL, ResponseType.CANCEL);
filter.add_pixbuf_formats ();
dialog.add_filter (filter);
switch (dialog.run ())
{
case ResponseType.ACCEPT:
var filename = dialog.get_filename ();
image.set_from_file (filename);
break;
default:
break;
}
dialog.destroy ();
}
这就是我从之前的代码中得出的结论:
def openfile (self:Button)
var dialog = new FileChooserDialog ("Open file",
window,
FileChooserAction.OPEN,
Stock.OK, ResponseType.ACCEPT,
Stock.CANCEL, ResponseType.CANCEL)
switch (dialog.run ())
case ResponseType.ACCEPT
var filename
filename = dialog.get_filename ()
image.set_from_file (filename)
break
default
break
dialog.destroy ()
它显然会在 case 语句中引发错误。如何在精灵中使用开关?