[PyQt] Weird behavior in fromMimeData method (pyScintilla)
Phil Thompson
phil at riverbankcomputing.com
Tue Sep 18 23:41:18 BST 2012
On Tue, 18 Sep 2012 23:16:00 +0200, Salvatore Larosa <lrssvtml at gmail.com>
wrote:
> Hi all,
> I am not sure if this is the rigth place to ask!
>
> I created a small console to execute python command by using Qscintilla
> python bindings but something doesnt work with MIME data.
>
> My code is:
>
> def fromMimeData(self, source):
> if source.hasText():
> pasteList = QStringList()
> pasteList = source.text().split("\n")
> if (len(pasteList) > 1):
> self.move_cursor_to_end()
> for line in pasteList[:-1]:
> self.append(line)
> self.move_cursor_to_end()
> self.runCommand(unicode(self.currentCommand()))
> self.append(unicode(pasteList[-1]))
> self.move_cursor_to_end()
>
> First question: when I paste some text in console and run command I get:
>
> TypeError: invalid result type from PythonEdit.fromMimeData()
>
> How I can avoid it?
fromMimeData() should return a 2-tuple of the text as a QByteArray and a
bool set if the selection is rectangular.
> Second question: If in my console I typed some text ( e.g def
> blablabla(self): ) and then
> I want edit it by replacing "self" with "source" by using paste command,
> the pasted text
> is placed at the end of the current line and not between brace getting
the
> following result:
>
> def blablabla(self):source
>
> Any idea on how I can solve it?
I can't reproduce that. What does move_cursor_to_end() do in the above
code?
Phil
More information about the PyQt
mailing list