2010-10-13 87 views
5

我有一個QWebView加載了一些網頁,但是當鼠標被按下並拖動時,它會選擇所有以這種方式出現的問題。QWebview/webkit禁用文本選擇

有什麼辦法可以擺脫這個?我不想要選擇文本和其他項目,

如果我限制mouseMove和mousePress那麼它與這些事件的其他功能也受限制,這是我不想要的。

我試過很多在QWebView/Qwebpage中找到任何方式,但沒有找到任何,我需要在webkit中做些什麼?

請幫

回答

7

如果你控制的是被加載的內容,你可以使用CSS:

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

否則你可能會增加一個用戶的樣式表這一規則。

+1

很好的工作文字,但還是如果我點擊和拖動重新開始的圖像,該圖像將跟隨指針(我希望能避免太)。編輯:解決方案在http://stackoverflow.com/questions/2040405/disable-drag-drop-in-qtwebkit – lapo 2011-08-11 12:12:09

1

如果你想有一個QT的答案,也許這是一個選項:

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

它覆蓋了原有的功能,並實現了只有按下和釋放事件的網頁視圖是可用的。 這在QT 4.8上適用於我。

-1

試試這個方法:

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)