【问题标题】:PyQt5 deactivate AutoLoadImages from QWebView will override my css stylePyQt5 从 QWebView 停用 AutoLoadImages 将覆盖我的 css 样式
【发布时间】:2017-01-15 05:19:07
【问题描述】:

我正在开发一个简单的 markdown 笔记编辑器,它会自动将 markdown 文本转换为 QWebView 小部件呈现的 html。

所以我基本上有一个名为 self.htmlQWebView 对象来呈现 Html 代码。

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

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

可以,但是替代文字没有显示。除此之外,我的 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样式的问题是,当我停用 自动加载图像设置时,code标签的字体仍然正确,但 背景色 消失了!现在,当我将自动加载图像设置重新激活为 true 时,背景色就在那里。


继续我的问题...

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

  1. 替代文本未按我的意愿显示
  2. CSS 样式似乎被覆盖或未完全加载

【问题讨论】:

    标签: python pyqt5 qwebview


    【解决方案1】:

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

    img {
      display: none; }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-18
      • 1970-01-01
      • 2011-01-20
      • 2013-06-09
      • 2021-09-08
      • 2012-12-08
      • 1970-01-01
      相关资源
      最近更新 更多