2010-10-13 19 views
5

Ho un QWebView che carica qualche pagina web, ma il problema quando il mouse viene premuto e trascinato seleziona tutto ciò che viene a suo modo.QWebview/webkit disabilita la selezione del testo

C'è un modo per liberarmi di questo ?? Non desidero che il testo e gli altri elementi siano selezionati.,

Se si limitano mouseMove e mousePress, allora anche altre funzionalità con questi eventi vengono limitate, cosa che non desidero.

Ho provato molto a trovare alcun modo in QWebView/Qwebpage ma non ne trova, devo fare qualcosa nel webkit?

Si prega di aiutare

risposta

7

Se controlli il contenuto che viene caricato, è possibile utilizzare i CSS:

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

altrimenti si potrebbe aggiungere un foglio di stile utente con questa regola.

+1

funziona bene per il testo, ma ancora se clicco e trascinare ricominciare un'immagine, l'immagine segue il puntatore (speravo di evitare anche questo). Modifica: soluzione in http://stackoverflow.com/questions/2040405/disable-drag-drop-in-qtwebkit – lapo

1

Se si desidera una risposta QT, forse questa è un'opzione:

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

Si sostituisce la funzione originaria e realizza che solo premere e rilasciare gli eventi sono disponibili nella vostra WebView. Questo ha funzionato per me su QT 4.8.

-1

provare questo metodo:

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) 
Problemi correlati