Всплывающее окне при наведении на выделенное слово

Я начинающий в python.
Делаю проверку орфографии (использую PyQt5 для интерфейса).
Я проверяю введенное в редакторе предложение и слова написанные с ошибкой,
выделяю красным.
Скажите, как сделать что бы при наведении на такое слово мышкой,
ниже появлялся всплывающий текст с правильными вариантами?
Вот пример кода проверки орфографии

from PyQt5 import QtWidgets
from PyQt5.QtWidgets import *
from db.notebook_models import NotebookRubrics
from .add_rubrics import Ui_FormAddRubrics
from shutil import copyfile
import os
import pyttsx3
import speech_recognition as sr
from PyQt5.QtGui import QFont

import requests

...

    # Проверка орфографии
    def spellingText(self):

        text = str(self.addRubrics.editTextArea.toPlainText())
        self.addRubrics.editTextArea.setPlainText('')
        # Для яндека сожно все стразу отправлять без разбивки на слова
        LANG_TRANS = {'ru': 'ru', 'en': 'en'}
        for lang in LANG_TRANS:
            params = {'text': text, 'lang': lang}
            r = requests.get('http://speller.yandex.net/services/spellservice.json/checkText', params=params)
            if r.status_code == 200:
                # Ошибка в слове
                if len(r.json()) > 0:
                    for out in r.json():
                        word = out['word']
                        variants = [v for v in out['s']]  # Варианты правильного написания
                        text = text.replace(word, '<span style="text-decoration: underline; color: red">' + word + "</span>")

        self.addRubrics.editTextArea.appendHtml(text)

Выглядит на экране таким образом: введите сюда описание изображения

Вот пример кода для теста:

import sys
from PyQt5.QtWidgets import *
from PyQt5 import QtCore, QtGui, QtWidgets



class Example(QMainWindow):
    def __init__(self):
        super().__init__()

        self.setWindowTitle("Пример")

        self.editTextArea = QtWidgets.QPlainTextEdit(self)
        self.editTextArea.setGeometry(QtCore.QRect(10, 10, 250, 250))
        self.editTextArea.setObjectName("editTextArea")

        variants = ['привет', 'привка', 'заправка']
        word = 'правид'
        text =  "Слово %s написанно неверно! Варианты в массиве variants и нужно что бы выводились при наведении на красное слово мышки" % word
        text = text.replace(word, '<span style="text-decoration: underline; color: red">' + word + '</span>')
        self.editTextArea.appendHtml(text)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    form = Example()
    form.show()
    app.exec()

Хотелось бы что бы при наводе мышки на красное слово всплывало окно с правильныи вариантами из массива variants и при клике на одно из правильных слов - заменялось неправильное Спасибо всем, кто поможет!


Ответы (0 шт):