0

traitsui.file_dialog から save_file() を使用しようとしていますが、問題が発生しています...本当に奇妙なことは、(PTVS を使用して) Visual Studio でコードを実行すると、問題なく動作することです!

ここに問題があります... save_file() によって作成されたダイアログを使用して既存のファイルを選択すると、Canopy エディターの iPython ウィンドウに NotImplemented エラーが表示されます。私のコードには FileExistsHandler があります (私はまだ Python/Canopy/Traits の学習の初期段階にあるので、ここですべて濡れているかもしれません:))。「File Already Exists」ポップアップも表示されません。

ただし、PTVS を使用して Visual Studio 内から同じコードを実行すると、「ファイルは既に存在します」というポップアップが表示され、それを受け入れるかキャンセルするかを選択できます。

PTVS バージョンが機能するのはなぜですか? (さらに重要なことに) Canopy Editor バージョンを機能させるにはどうすればよいですか?

誰でも提供できる手を握ってくれてありがとう:)

スティーブ

4

2 に答える 2

0

さらなるアップデート... WX を Python バックエンドとして使用すると問題なく動作する単純なコード ブロックを以下に示しますが、Qt を使用すると問題が発生します。

from traitsui.file_dialog import save_file, TextInfo

import os

def SaveFile ( filename ):
    """ Handles the user clicking the 'SaveAs...' button.
    """
    if not os.path.isfile(filename):                   # if the file doesn't exist, just put the path into the file_name so I start in the same directory
        (filename, dummyname) = os.path.split(filename)
    filename = save_file( extensions  = TextInfo(),
    file_name  = filename,
    title      = 'Save File As...',
    )
    return filename

newfile = SaveFile('C:\\temp\\already_there.txt')

WX を使用してこれを実行すると、[ファイルが既に存在します...] ポップアップ ダイアログが表示され、[OK/キャンセル] ボタンが表示されます...バックエンドで Qt を使用して実行すると、ポップアップは生成されず、iPython ウィンドウに NotImplemented エラーが表示されます。 ( ((存在しない新しいファイル名を入力すると、save_file は正しく機能します)

私は Qt の画面の外観がとても気に入っています。WX は Windows 専用であると誰かが教えてくれました (よくわかりません。確認していません)。

Qt で save_file() を正しくエラーなく動作させる方法はありますか?

于 2014-07-25T23:22:25.987 に答える