2009-05-20 24 views
1

私と一緒にいて、私はwxPythonを今一日使っています。wxPython:グリッドセルに貼り付けを実装する方法は?

短いバージョンは、grid.PyGridCellEditorと文字列への参照があるため、どのようにして貼り付け機能を実装できますか?

これは、グリッドウィジェットの行全体を貼り付ける処理を試みる既存のコードの大きなブロックの本体にあります。このブロックは、セル編集コントロールが表示され、プレーンテキスト文字列が表示される特殊なケースですクリップボード。私はクリップボードにあるもので全体のセルを置き換えることができますが、真正な貼り付けが必要です - 挿入カーソルにテキストを挿入するか、選択したテキストを置き換えます。

私が持っているコードのブロックは、このようなものになります。

def paste(self): 
    clipboard = <get contents from the clipboard> 
    .... 
    if self.IsCellEditControlShown: 
     # just do a normal paste here 
     celleditor = self.GetCellEditor(row,col) 
     <what goes here?> 

答えて

3

を誰もがプレートにステップアップされていないので、私は自分の質問に答えました。

if self.isCellEditControlShown: 
    # _active_row and _active_col are set in the event handler... 
    cellEditor = self.GetCellEditor(self._active_row, self._active_col) 
    textControl = cellEditor.GetControl() 
    textControl.Paste() 

正確変数に文字列を持つが、文字列が最初の場所でクリップボードから来た私の場合に含まれて私の元の質問に答えていない:解決策は次のようなものになります。私が実際に任意の文字列を貼りたい場合は、貼り付け()を呼び出す前にクリップボードに貼り付けることができます

関連する問題