PyQt5从QWebView取消激活AutoLoadImages将覆盖我的CSS样式

时间:2017-01-14 01:20:00

标签: python pyqt5 qwebview

我使用一个简单的降价笔记记录编辑器,它自动将降价文本翻译成QWebView小部件呈现的html。

所以我基本上有一个名为 self.html QWebView 对象来渲染Html代码。

我希望不显示img标签src ,只有只显示其替代文字。我设法找到一种方法来使用此指令停用图像上传:

self.html = QWebView()    
self.html.settings().setAttribute(QWebSettings.AutoLoadImages, False)

可行,但替代文字未显示。除此之外,My QWebView 还有一个自定义CSS样式表,如下所示:

self.html.settings().setUserStyleSheetUrl(QUrl.fromLocalFile(PATH+style))

在CSS表格中:

代码,tt

...
{

  margin: 0 2px;
  padding: 0 5px;
  white-space: nowrap;
  border: 1px solid #eaeaea;

  background-color: #f8f8f8;
  border-radius: 3px;

  font-family: Consolas, 'Liberation Mono', Courier, monospace;
  font-size: 12px;
  color: #333333;
  }

...

现在CSS风格的问题是,当我停用 自动加载图片设置时,代码标记的字体仍然是正确,但背景颜色消失了!现在,当我重新激活自动加载图像设置为true时,背景颜色就在那里。

恢复我的问题......

我的解决方案是从QWebView停用AutoLoadImages设置。但是当我这样做时

  1. 替代文字没有像我想要的那样显示
  2. CSS样式似乎是覆盖或未完全加载

1 个答案:

答案 0 :(得分:0)

所以我找到了解决方案。我没有使用 QWebSettings.AutoLoadImages 属性,而是简单地在CSS表格中添加以下内容:

img {
  display: none; }

但是,替代文字没有显示,但现在应该可以解决这个问题。