我有一个加载一些网页的QWebView,但是当按下并拖动鼠标时会出现问题,选择所有出现在其中的内容。
有什么办法可以摆脱这个吗?我不希望选择文本和其他项目。
如果我限制mouseMove和mousePress,那么这些事件的其他功能也会受到限制,这是我不想要的。
我尝试在QWebView / Qwebpage中找到任何方法,但没有找到任何方法,我是否需要在webkit中做一些事情?
请帮忙
答案 0 :(得分:10)
如果您控制正在加载的内容,则可以使用css:
body { -webkit-user-select: none; }
否则,您可以使用此规则添加用户样式表。
答案 1 :(得分:1)
如果您想要QT答案,也许这是一个选项:
class MyWebView : public QWebView
{
protected:
virtual void mouseMoveEvent(QMouseEvent *) { /* dummy implementation */ }
public:
MyWebView(QWidget* parent) : QWebView(parent) { }
}
它会覆盖原始功能,并且只能在您的网络视图中提供按下和发布活动。 这在QT 4.8上对我有用。
答案 2 :(得分:-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)