2010-10-13 19 views
5

Mam QWebView, który ładuje niektóre strony internetowe, ale problem polegający na tym, że mysz jest wciśnięta i przeciągnięta, wybiera wszystko, co wchodzi jej w drogę.QWebview/webkit wyłącza zaznaczanie tekstu

Czy jest jakiś sposób mogę się tego pozbyć? Nie chcę, aby wybrano tekst i inne elementy.,

Jeśli ograniczę mouseMove i mousePress, to inna funkcja z tymi zdarzeniami również zostaje ograniczona, czego nie chcę.

Próbowałem dużo, aby znaleźć jakiś sposób w QWebView/Qwebpage, ale nie znalazłem żadnego, czy muszę coś zrobić w webkicie?

Proszę o pomoc

Odpowiedz

7

Jeśli kontrolować zawartość, który jest załadowany, można użyć CSS:

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

przeciwnym razie można dodać arkusza stylów użytkownika z tej reguły.

+1

działa ładnie na tekst, ale gdybym kliknij i przeciągnij, począwszy na obrazku, obraz następujący wskaźnik (Miałem nadzieję, że w celu uniknięcia zbyt). Edycja: rozwiązanie w http://stackoverflow.com/questions/2040405/disable-drag-drop-in-qtwebkit – lapo

1

Jeśli chcesz odpowiedzi QT, może to jest opcja:

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

To zastępuje pierwotną funkcję i osiąga że tylko nacisnąć i zwolnić zdarzenia są dostępne w WebView. To zadziałało dla mnie na QT 4.8.

-1

Spróbuj tej metody:

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) 
Powiązane problemy