1

Python GTK と WebKit を使用してデスクトップ アプリを作成しています。主にこのチュートリアルに基づいています。

HTML5 でビューを作成し、CSS を使用していました。

問題は、私が使用しているとき、width:100%またはrepeat-xウィンドウの幅が無限に増え続けているときです。

入れてみmax-width:100%まし<body>たがダメでした。

今のところ、うまく機能している幅を修正しましたが、ウィンドウのサイズを変更できるようにしたいので、見苦しくすることなく内部のすべてのコンテンツを表示します。

これに対するヘルプまたは回避策はありますか?

アップデート

このチュートリアルで指定されているものと同じコードを使用しています

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

HTML ファイルでは、ヘッダーとフッターを 1 つだけ追加しました。フッターの場合、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()

この問題が発生する理由: 「幅: 100%」を設定すると、オーバーフロー スクロールが発生します。しかし、この Gtk の例では、代わりに、親ウィンドウを大きくするサイズ変更をトリガーします。親が大きくなったため、「幅: 100%」はわずかに多くのスペースを表し、フィードバック サイクルが不安定になります。

より良い解決策は、パディングやマージンなどを調整して、「幅: 100%」を要求したときにサイズ変更がまったくトリガーされないようにすることです。たとえば、ここで CSS リセットを使用するとうまくいくようです: http://meyerweb.com/eric/tools/css/reset/

私はこの記事の著者でもあり、記事も時代遅れになっていますが、それでもインスピレーションを与えてくれることをうれしく思います.

于 2013-01-16T18:43:54.943 に答える