2013-08-14 12 views
5

Mam edytowalny QWebView i chciałbym uzyskać pozycję (QPoint) TextCursor. Szukałem, ale mogłem znaleźć tylko położenie kursora (wskaźnika myszy) webview-> cursor.pos(); i ta pozycja nie jest tym, czego chcę.Jak uzyskać pozycję textcursora w QWebView Edytowalny

Ktoś ma jakieś sugestie?

Dziękujemy!

+0

Więc czego chcesz? QPoint? W porządku. Światowy? Lokalny? Lokalnie do jakiego widżetu? Być może dajesz małe wyjaśnienie, co chcesz zrobić. Nie mogę wymyślić żadnego przypadku użycia, który potrzebuje pozycji QPoint w TextCursor. – Greenflow

+0

Tak, mam edytowalny QWebView i dokładną pozycję TextCursor (Qpoint) w WebView, aby ustawić jako centrum wdrażania ZOOM, jak WordPad (MS Windows). – FelipeMac

+0

Rozumiem. Nie sądzę, że to możliwe. QTextCursor nie jest elementem graficznym ze zdefiniowaną pozycją na ekranie. Jest to logiczna pozycja w tekście. To, co chcesz zrobić, jest identyczne, jak znaleźć pozycję na ekranie luki między dwiema literami w tekście. Nie ma na to łatwej funkcji. Zliczanie pikseli za pomocą parametrów czcionki jest prawdopodobnie zbyt skomplikowane i podatne na błędy. – Greenflow

Odpowiedz

4

rozwiązany, aby złapać QPoint TextCursor w edytowalny QWebView jest stosowany:

webview->page()->inputMethodQuery(Qt::ImMicroFocus).toRect().center() 

(na przykład: centrum())

Dzięki tym, którzy mi pomogli!