Python Traits UI(Enthought)

4

我正在处理一些使用Traits UI的代码,用于显示一个对话框,用户可以从中选择两个文件:

class Files(HasTraits):
    filename_1 = File(exists=True)
    filename_2 = File(exists=True)

    traits_ui = View(
        'filename_1', 'filename_2',
        title   = 'Select Geometry Files',
        buttons = ['OK', 'Cancel']
    )

files = Files()
ui = files.edit_traits(kind='modal')

在编辑filename_1或filename_2值时,会显示一个名为“另存为”的文件选择对话框。我被要求将标题更改为“打开”甚至是“选择文件”。不幸的是,我似乎找不到如何更改这个标题的方法。有人可以帮忙吗?


现在运行此程序,我看到文件浏览器对话框标题为“选择文件”。您能确认此问题是否仍然存在吗? - Peter Wang
是的,自从发布这条消息后,我注意到只有在将上述代码作为更大一组代码的一部分运行时,“另存为…”标题才会出现。单独运行时,您是正确的,它会显示“选择文件”。我从未找到这种情况的根本原因,但由于我通常不使用TraitsUI,所以我只编写了一些普通的Qt代码。谢谢。 - user247148
答案可接受吗?如果可以,请接受它。谢谢。 - K.-Michael Aye
1个回答

3
在Traits 3.2之后的某个时候,FileEditor ToolkitEditorFactory 添加了一个新的特性,它可以让你设置编辑trait是“打开”还是“保存”对话框。请尝试以下操作:
from enthought.traits.ui.api import FileEditor    

save_file_editor = FileEditor(dialog_style='save')

class Files(HasTraits):
    filename_1 = File(exists=True)
    filename_2 = File(exists=True)

    traits_ui = View(
        Item('filename_1', editor=save_file_editor),
        Item('filename_2', editor=save_file_editor),
        title   = 'Select Geometry Files',
        buttons = ['OK', 'Cancel']
    )

files = Files()
ui = files.edit_traits(kind='modal')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接