0

最近、Anjutaを使用してpygtkで最初のアプリを作成しました。Linuxでもうまく機能するので、親戚や友人と共有しましょう。Python、pygtk、Gtkオールインワンバンドル(Cairo、pyGobject ect)をWindowsにインストールして、実行しようとしました。

エラーが発生しましたself.builder.add_from_file(UI_FILE)

コードを少し掘り下げると、UI_FILEに次のものが含まれていることがわかりました

<!-- interface-requires gtk+ 3.0 -->

そして私のPythonコンソールは言う:

>>> import gtk
>>> gtk.gtk_version
(2, 22, 1)

私の知る限り、win32マシンに最新バージョンのGtkをインストールしました。今、私は問題に取り組む方法がわかりません:gtk2.22.1と互換性があるようにインターフェースを再設計しますか?(それではどうやって?)私のLinuxディストリビューションのクロスコンパイラを使用しますか?(複雑さ/安定性にどのようなコストがかかりますか?)

お時間をいただきありがとうございます、そしてあなたは答えます。

4

2 に答える 2

0

GTK 2と互換性のないすべてのウィジェット(、など)をインターフェイスから削除しますGrid。3.8OverlayシリーズのGladeバージョンを使用している場合は、プロジェクトのプロパティに移動して選択することで、どのウィジェットが適切かを自動的に確認できると思います。ターゲットバージョンとしてGTK2.24。次に、「ウィジェットのバージョンと非推奨を確認する」というボタンがあります。このボタンをクリックすると、使用しているすべてのウィジェットがそのバージョンで機能することを確認できます。

ちなみに、2.22.1は間違いなくWindowsの最新バージョンではありません。2.24.7または.8です。

于 2012-10-20T14:20:27.083 に答える
0

これに対する最新の答えは、ここからダウンロードできる最近のPyGobjectパッケージを使用して、WindowsでGtk3を使用できるということです。

次に、以下を使用する代わりに(pygtkをロードします):

import gtk

あなたは使用する必要があります

from gi.repository import Gtk

コードがpygtkに依存していた場合は、次の選択肢があります(移植ガイドを参照) 。

  • モジュールpygtkcompatを使用します(これにより、Gtk 2.xのサポートを継続できます)
  • イントロスペクションアプローチへの移植。これは、前述の移植ガイドで利用可能なスクリプトを介してほとんど自動化できますpygi-convert.sh(これは、多くの正規表現の置換で構成されています)。
于 2015-11-12T14:30:49.510 に答える