QWebview / webkit отключить выделение текста - PullRequest
6 голосов
/ 14 октября 2010

У меня есть QWebView, который загружает какую-то веб-страницу, но проблема, когда мышь нажимают и перетаскивают, выбирает все, что встречается на ее пути.

Есть ли способ избавиться от этого ?? Я не хочу, чтобы текст и другие элементы были выделены.,

Если я ограничу mouseMove и mousePress, тогда другие функциональные возможности с этим событием также будут ограничены, чего я не хочу.

Я много пытался найти какой-нибудь способ в QWebView / Qwebpage, но не нашел ничего, нужно ли что-то делать в webkit?

Пожалуйста, помогите

Ответы [ 3 ]

10 голосов
/ 27 декабря 2010

Если вы контролируете загружаемый контент, вы можете использовать css:

body { -webkit-user-select: none; }

В противном случае вы можете добавить таблицу стилей пользователя с этим правилом.

1 голос
/ 14 декабря 2016

Если вы хотите получить ответ QT, возможно, это вариант:

class MyWebView : public QWebView
{
protected:
   virtual void mouseMoveEvent(QMouseEvent *) { /* dummy implementation */ }
public:
   MyWebView(QWidget* parent) : QWebView(parent) { }
}

Он переопределяет исходную функцию и обеспечивает доступность только событий нажатия и выпуска в вашем веб-обзоре.Это работало для меня на QT 4.8.

0 голосов
/ 18 июля 2017

Попробуйте этот метод:

def mousePressEvent(self, event):
    if event.pos().x() in range(self.frameRight - self.vScrollWidth+1,self.frameRight+1) or event.pos().y() in range(self.frameBottom+1 - self.hScrollHeight,self.frameBottom+1):
        self.dragScroll = True
        super(myWeb,self).mousePressEvent(event)
def mouseMoveEvent(self,event):
    if self.dragScroll == True:
        super(myWeb,self).mouseMoveEvent(event)
...