1

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

我在 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>

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

4

1 回答 1

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%”现在代表稍微多一点的空间,这会导致反馈周期不稳定。

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

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

于 2013-01-16T18:43:54.943 回答