我有一个QWebView加载了一些网页,但是当鼠标被按下并拖动时,它会选择所有以这种方式出现的问题。QWebview/webkit禁用文本选择
有什么办法可以摆脱这个?我不想要选择文本和其他项目,
如果我限制mouseMove和mousePress那么它与这些事件的其他功能也受限制,这是我不想要的。
我试过很多在QWebView/Qwebpage中找到任何方式,但没有找到任何,我需要在webkit中做些什么?
请帮
我有一个QWebView加载了一些网页,但是当鼠标被按下并拖动时,它会选择所有以这种方式出现的问题。QWebview/webkit禁用文本选择
有什么办法可以摆脱这个?我不想要选择文本和其他项目,
如果我限制mouseMove和mousePress那么它与这些事件的其他功能也受限制,这是我不想要的。
我试过很多在QWebView/Qwebpage中找到任何方式,但没有找到任何,我需要在webkit中做些什么?
请帮
如果你控制的是被加载的内容,你可以使用CSS:
body { -webkit-user-select: none; }
否则你可能会增加一个用户的样式表这一规则。
如果你想有一个QT的答案,也许这是一个选项:
class MyWebView : public QWebView
{
protected:
virtual void mouseMoveEvent(QMouseEvent *) { /* dummy implementation */ }
public:
MyWebView(QWidget* parent) : QWebView(parent) { }
}
它覆盖了原有的功能,并实现了只有按下和释放事件的网页视图是可用的。 这在QT 4.8上适用于我。
试试这个方法:
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)
很好的工作文字,但还是如果我点击和拖动重新开始的图像,该图像将跟随指针(我希望能避免太)。编辑:解决方案在http://stackoverflow.com/questions/2040405/disable-drag-drop-in-qtwebkit – lapo 2011-08-11 12:12:09