忍受我,我现在一直在使用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?>
答案 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()
之前将其放在剪贴板上