wxPython:如何在网格单元格中实现粘贴?

时间:2009-05-20 21:24:16

标签: wxpython

忍受我,我现在一直在使用wxPython。

简短版本是,如果引用grid.PyGridCellEditor和字符串,我该如何实现粘贴功能?

这是在一大块现有代码的主体中,它试图处理粘贴Grid小部件中的整行,而这个块是特殊情况,其中单元格编辑控件是可见的,并且只有一个纯文本字符串剪贴板。我可以用剪贴板上的内容替换整个单元格,但我想要真正的粘贴 - 在插入光标处插入文本或替换所选文本。

我看到的代码块看起来像这样:

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?>

1 个答案:

答案 0 :(得分: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()

这并没有准确回答我的原始问题,其中包括在变量中包含字符串,但在我的情况下,字符串首先来自剪贴板。如果我真的想要粘贴任意字符串,我可以在调用Paste()

之前将其放在剪贴板上