Hey Kristof,

Hotspots make text clickable. You have to style it manualy using the 
QScintilla.SendScintilla function.

Example function I used in my editor Ex.Co. (https://github.com/matkuki/ExCo):

def style_hotspot(self, index_from, length, color=0xff0000):
            """Style the text from/to with a hotspot"""
            send_scintilla =
            #Use the scintilla low level messaging system to set the hotspot
            
self.SendScintilla(PyQt4.Qsci.QsciScintillaBase.SCI_STYLESETHOTSPOT, 2, True)
            
self.SendScintilla(PyQt4.Qsci.QsciScintillaBase.SCI_SETHOTSPOTACTIVEFORE, True, 
color)
            
self.SendScintilla(PyQt4.Qsci.QsciScintillaBase.SCI_SETHOTSPOTACTIVEUNDERLINE, 
True)
            self.SendScintilla(PyQt4.Qsci.QsciScintillaBase.SCI_STARTSTYLING, 
index_from, 2)
            self.SendScintilla(PyQt4.Qsci.QsciScintillaBase.SCI_SETSTYLING, 
length, 2)

This makes text in the QScintilla editor clickable when you hover the mouse 
over it.

The number 2 in the above functions is the hotspot style number.

To catch the event that fires when you click the hotspot, connect to these 
signals:

QScintilla.SCN_HOTSPOTCLICK
QScintilla.SCN_HOTSPOTDOUBLECLICK
QScintilla.SCN_HOTSPOTRELEASECLICK


For more details look at Scintilla hotspot documentation:

http://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETHOTSPOT

and QScintilla hotspot events:

http://pyqt.sourceforge.net/Docs/QScintilla2/classQsciScintillaBase.html#a5eff383e6fa96cbbaba6a2558b076c0b



Try it. Hope it helps.


Matic




________________________________
From: QScintilla <qscintilla-boun...@riverbankcomputing.com> on behalf of 
kristof.mul...@telenet.be <kristof.mul...@telenet.be>
Sent: Wednesday, October 12, 2016 5:33 PM
To: qscintilla@riverbankcomputing.com
Subject: [QScintilla] Clickable functions and variables

Dear QScintilla users and developers,

Can you please take a look at this StackOverflow question?

http://stackoverflow.com/questions/40002373/qscintilla-based-text-editor-in-pyqt5-with-clickable-functions-and-variables

I am still trying to build an IDE in PyQt5, and use QScintilla for the syntax 
highlighting. I wonder if certain features are available in QScintilla. The 
official documentation is way too short.

Kind greetings,

Kristof Mulier

PS: The IDE I am building can be found on my website: 
www.gneb.io<http://www.gneb.io>

_______________________________________________
QScintilla mailing list
QScintilla@riverbankcomputing.com
https://www.riverbankcomputing.com/mailman/listinfo/qscintilla

Reply via email to