2009-12-08 2 views
3

Я работаю с некоторым кодом, который использует черты пользовательского интерфейса, чтобы показать диалоговое окно, в котором пользователь может выбрать один из двух файлов:Python Черты характера UI (Enthought)

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 ценностей, диалог выбора файла отображается с надписью «Сохранить как». Меня попросили сменить заголовок на «Открыть» или «Выбрать файл». К сожалению, я не могу понять, как я могу это изменить. Может ли кто-нибудь помочь?

+0

Запустив это сейчас, я вижу диалоговое окно браузера файлов под названием «Выбрать файл». Можете ли вы подтвердить, что этот вопрос все еще существует? –

+0

да, так как сообщение этого сообщения я заметил, что заголовок «Сохранить как ..» появляется только тогда, когда вышеуказанный код запускается как часть большего набора кода. Само по себе, вы правы, он говорит «Выберите файл». Я никогда не понимал, почему это так, но, как я обычно не использую TraitsUI, я просто написал простой Qt-код. Благодарю. – 2010-01-09 17:25:05

+0

Является ли ответ приемлемым? Тогда, пожалуйста, примите это. Спасибо. –

ответ

2

В какой-то момент после признаков 3.2 новая функция была добавлена ​​к FileEditor ToolkitEditorFactory, которая позволяет вам установить, является ли редактирование признака диалогом «открыть» или «сохранить». Попробуйте следующее:

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') 
Смежные вопросы