带CSS的python gtk webkit,宽度问题

时间:2013-01-11 11:56:30

标签: python css webkit gtk pygtk

我正在使用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>

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

1 个答案:

答案 0 :(得分: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示例中,它会触发调整大小,使父窗口变大。由于父级变大,“宽度:100%”现在代表的空间略大,导致反馈周期不稳定。

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

我也是这篇文章的作者,并且很高兴尽管文章也已经过时了,但它仍然在给予灵感。