【问题标题】:python gtk webkit with CSS, issue in Width带有CSS的python gtk webkit,宽度问题
【发布时间】:2013-01-11 11:56:29
【问题描述】:

我正在使用 Python GTK 和 WebKit 创建一个桌面应用程序。主要基于this tutorial。

我在 HTML5 中创建视图并使用 CSS。

问题是当我使用width:100% 或repeat-x 时,我的窗口的宽度会不断增加到无穷大。

我尝试将max-width:100% 放入<body>,但没有帮助。

现在,我将其固定宽度,效果很好,但我想让他的窗口可调整大小,所以里面的所有内容都不会让它看起来很难看。

对此有任何帮助或解决方法吗?

更新

我使用的代码与本教程中给出的代码相同

http://www.aclevername.com/articles/python-webgui/

在 HTML 文件中,我只添加了一个页眉和页脚。对于页脚,我刚刚创建了一个 div,

 <div id="footer" style="width:100%; 
 position:absolute; align:center; bottom:0px; padding-top:10px; 
height:50px; background:url(img/int-bg.png) left top;">
</div>

这使窗口无限扩大其宽度。

如果我在 CSS 中固定宽度,那么它不会进行扩展。并且工作正常,对于固定大小的窗口。

 <div id="footer" style="width:800px;
 position:absolute; align:center; bottom:0px; padding-top:10px; 
height:50px; background:url(img/int-bg.png) left top;">
</div>

但我想让它重新调整大小。如何实现这种灵活性?

【问题讨论】:

  • 你能提供一些最小的代码吗?如果您不为 GTK 窗口设置宽度会发生什么?
  • 嗨@deinonychusaur 在我的问题中做了更新。我只是用一个额外的页脚 div 运行相同的示例。并遇到了这个麻烦。提前感谢您的时间

标签: python css webkit gtk pygtk


【解决方案1】:

这可能会有所帮助(我提供了一些上下文以帮助其他读者了解这是一个涉及 PyWebKitGtk 想要调整其父容器大小的问题),

import gtk
import webkit

window = gtk.Window()
browser = webkit.WebView()
box = gtk.VBox(homogeneous=False, spacing=0)
window.add(box)
# ...
box.pack_start(browser, expand=True, fill=True, padding=0)
browser.set_size_request(400, 600) # <-- constrain width and height of browser
window.show_all()

出现问题的原因是:设置“width: 100%”会导致溢出滚动。但在这个 Gtk 示例中,它改为触发调整大小,使父窗口变大。由于父级刚刚变大,“width: 100%”现在代表稍微多一点的空间,这会导致反馈周期不稳定。

更好的解决方案可能是调整填充和边距等,以便在请求“宽度:100%”时它们根本不会触发调整大小。例如,在这里使用 CSS 重置似乎可以解决问题:http://meyerweb.com/eric/tools/css/reset/

我也是这篇文章的作者,很高兴尽管这篇文章已经过时了,但它仍然能提供灵感。

【讨论】:

  • 感谢@david-baird 非常感谢,它起作用了,只是通过调整宽度和高度。我也会看到 CSS 重置。
  • 只是一个奇怪的问题,因为感觉应该有比要求网页 css 符合特定规范更好的方法。而且因为要求浏览器感觉有点尴尬有一个合适的尺寸,如果你把浏览器放在gtk.ScrolledWindow 会发生什么?
猜你喜欢
  • 2011-10-24
  • 2014-03-16
  • 1970-01-01
  • 2012-01-05
  • 1970-01-01
  • 1970-01-01
  • 2014-03-22
  • 1970-01-01
  • 2013-11-11
相关资源
最近更新 更多