PyQt widget which can be used to find text in QTextEdit/QTextBrowser
PyQt5 >= 5.8
python -m pip install pyqt-find-text-widget
- Find previous, next occurence based on text cursor's position
- prev shortcut: Ctrl+Shift+D
- next shortcut: Ctrl+D
- Match case
- Makes find match only complete words
- Providing prev, next, close signals
- Enable to set close button with
setCloseBtn(f: bool)
I'm still working with regex feature.
- prevClicked
- nextClicked
- closeSignal
Code Sample
from PyQt5.QtWidgets import QMainWindow, QApplication, QGridLayout, QWidget, QTextEdit
from pyqt_find_text_widget.findTextWidget import FindTextWidget
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.__initUi()
def __initUi(self):
self.__te = QTextEdit()
self.__te.setStyleSheet('QTextEdit { selection-background-color: lightblue; }') # I wrote this code because color of default selection doesn't stand out in the white textedit screen.
self.__w = FindTextWidget(self.__te)
lay = QGridLayout()
lay.addWidget(self.__w)
lay.addWidget(self.__te)
mainWidget = QWidget()
mainWidget.setLayout(lay)
self.setCentralWidget(mainWidget)
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
Result
Note: Button icons in preview are obsolete. Back then these icons were PNG, now these are SVG! So don't worry about the difference.
example.mp4
Match case & complete word only example