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