問題タブ [pygobject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
5946 参照

python - PyGobjectでの描画(python3)

PyGObjectとpython3を使用して単純なグラフィックエディタを作成しようとしています。マウスを使用して異なる色と幅の線を描画する必要があります。私はこのような多くの例を見つけましたが、これ以上複雑なものはありません。

'draw'イベントの間に描画された画像を保存するにはどうすればよいですか?描画のインクリメンタルな方法はありますか、それとも「描画」イベントごとにペインを再描画する必要がありますか?パスを保存できることがわかりましたが、描画された線の幅と色を保存するにはどうすればよいですか?'draw'コールバックの外側で画像を作成し、コールバックの内側でのみ適用(描画)する方法はありますか?

これが私が今持っているものです。

私の英語は申し訳ありませんが、それは私の母国語ではありません。

0 投票する
2 に答える
2303 参照

python - PIL GdkPixbuf の変換

pixbufでPILイメージを変換するにはどうすればよいですか?. 多くの例を変更しようとしましたが、解決策はありません

エラー

私はPygobject https://live.gnome.org/PyGObjectを使用しています

0 投票する
1 に答える
1953 参照

python - Gtk3のToolButtonにアイコンを追加する

Gtk.ToolButton(Python用のPyGiを使用するGtk3)にアイコンを追加してGTK + 3ツールバーに追加する方法はありますか?

以下は私のコードです:

注:このget_resource()メソッドは、リソースパスのローカル作業フォルダーを掘り下げます。このメソッドは、このコンテキストで機能していると見なされます。

PyGiを使用して上記のコードを試しました。画像ファイルは有効で、すべてが機能していますが、画像が表示されません。

0 投票する
1 に答える
557 参照

python - RadioMenuItemsで構成されるメニューで複数のアイテムが(誤って)選択されている

私の小さなPyGObject/GTK3アプリケーションでは、RadioMenuItemsで構成される(サブ)メニューを作成しようとしています。

メインウィンドウの次のようにメニューを作成します__init__

次に、button_press_eventを使用してハンドラーに表示します

初めてメニューを開いたとき、メニュー項目「2」だけが正しく選択されています。次に、たとえば、メニュー項目「3」を選択してメニューを再度開くと、メニュー項目2と3の両方が選択されています。私は何が間違っているのですか?

0 投票する
1 に答える
376 参照

python - Gtk.StatusIcon をテキストとして設定するにはどうすればよいですか

カスタム テキストで Gtk.StatusIcon を作成したいと思います。理想的には、これを既存の画像に追加したいのですが、テキストのみでも構いません。どうすればこれを達成できますか?

Gtk.Label の pixbuf の取得に関する投稿を見たことがありますが、これらのメソッドは Gtk3 (pixbuf_get_from_drawable) から削除されているようです。

0 投票する
1 に答える
2480 参照

python - PyGObject の GtkSourceView を使用して Glade から GUI をロードする

PyGObject に GtkSourceView ウィジェットを持つ Glade ファイルを使用しようとしています。Glade で新しい GtkSourceView 3.0 の使用を開始する方法に関する小さなガイドを書きました: http://cjenkins.wordpress.com/2012/05/08/use-gtksourceview-widget-in-glade/

問題は、PyGObject から Glade をロードしたいときです。

そのファイルを実行すると、次のエラーが発生しました。

Glade ファイル (test.glade) は、GtkSourceView ウィジェットを含む単なるウィンドウです。

これを解決する方法は、今のところ私の知識ではありません。add_from_file() を呼び出す前に、何らかのタイプを登録する必要があると思います。どんなアイデアでも大歓迎です。

私は使用しています:

  • Ubuntu プレサイス 12.04
  • 空き地 3.12.0
  • libgtksourceview 3.0
  • Gtk+ 3.0

敬具

0 投票する
2 に答える
971 参照

python - pygobject、glade、gtk3に移行する場合は、エントリコンボボックスを使用してください

私は3か月からgladeとpygtkを使ってPythonで開発していますが、それに慣れる前でさえ、それはすでに時代遅れでした。

Archlinuxを使用すると、私のシステムは常に最新の状態になっているため、gtk2に比べて機能が少し不足していることに気付いたとしても、gtk3を使用せざるを得ません。

そこで、pygobjectに切り替えることにしました。残念ながら、ドキュメントは完全ではありません。

グレイドファイルとPythonコードを新しいシステムに正常にアップグレードしましたが、1つのエラーが発生します。

私のプログラムの1つに、エントリのあるコンボボックスがあります。コンボボックスから選択されたか、ユーザーが入力したかに関係なく、get_active_text()メソッドを呼び出してエントリのコンテンツを取得するために使用します。

このメソッドはもう存在しないので(エラーが発生したためだと思います)、代わりにこれを使用します:

ご覧のとおり、古いコードにはコメントが付いています。

このコードは機能しますが、奇妙な問題があります。エントリを使用できません。

コンボボックスからテキストを選択できますが、エントリが使用できません。選択はできますが、入力できません。

これは、どこかでアクティブ化する必要がある新しい動作ですか?プログラムのgtk2バージョンでは、問題はありません。

これが私の空き地ファイルのコンボボックスエントリを説明する部分です:

テキストを含むgchararrayタイプの1つの列を持つリストストアを作成しました。セルはGtkCellRendererによってレンダリングされます(ただし、cellrendererのプロパティ "text"は定義されていません。これを0(gchararray)に定義すると、テキストが2回取得されるためです!)

エントリバッファを追加すると役立つと思いましたが、何も変わりません。

編集:私は解決策を見つけました:埋め込みエントリのcan_focusはfalseでした。これで、エントリバッファを必要とせずに機能します。

これを投稿する前に解決策を見つけましたが、他のユーザーにもこの問題が発生した場合に備えて投稿します。

0 投票する
2 に答える
1940 参照

python - Gtk.Treeviewはシグナルとコードを介して行の選択を解除します

私はPyGObjectを使用していますが、これはすべてのGTKに適用できる質問だと思います。したがって、誰かがCを使用してそれを行う方法を知っていれば、Pythonでも機能するはずです。

アクティブと非アクティブの2つのツリービューがあり、Sqliteデータベースからデータをロードし、アイテムを一方から他方にスワップおよびドラッグアンドドロップできます。これは単なる麻酔です。一方のツリービューで1つのアイテムをクリックすると、もう一方の前に選択したアイテムの選択を解除する必要があります。

ネット上で何も見つからなかったので、誰も同じようなことをする必要はなかったようです。

0 投票する
1 に答える
454 参照

python-3.x - PyGobject で GtkLayout を動的にサイズ変更する

占有できるスペースの量に応じて、GtkLayout のコンテンツを自動的に「ズームして合わせる」方法を探しています。

これが私の解決策です:

残念ながら、これにより、ウィンドウのサイズが変更されるたびに draw() が 2 回呼び出されます。これは、実際にレイアウトに何かを描画する必要がある場合に時間がかかります。

この問題の正しい解決策は何ですか?

敬具、
ファビアン・ヘンツェ

解決策:少し前に解決策を見つけました。それは私のプロジェクトのここここにあります。そこから最小限の例を抽出する時間がありません。誰かがそれをやりたいと思っているなら、私はそれを答えとして喜んで受け入れます.

0 投票する
1 に答える
1221 参照

python - Python で Gtk3 GtkTreeRowReference を使用する方法

GtkTreeRowReference()成功せずにGtk3 の関数を呼び出そうとしています。ListStore関連する TreeView の選択セットを MULTIPLE モードに設定して、複数のレコードを削除しようとしています。TreeRowReference選択で指定されたアイテムごとに保存し、ListStoreそれらを使用してアイテムを削除したいListStoreのは、選択で以前に到達したListStoreアイテムが削除されると、これらのパスが更新されるはずだからです。私はTreeRowReferencesPyGtk 2 での使用に関する多くの参照を見つけました。PyGObject のチュートリアルはそれらの使用について言及していますが、実際の例は示していません。私はGtkTreeRowReference()成功せずに呼び出すために多くの方法を試しました。例えば:

この致命的なエラー メッセージが生成されます:"TypeError: function takes at most 0 arguments (2 given)"プログラムが行にヒットしたときGtk.TreeRowReference。選択行には既に への参照が含まれているListStoreため、選択行のみを引数として再試行しましたが、関数がまだ 0 引数を主張していて、1 引数を渡そうとしたという苦情がありました。

私も次のようなことを試しました:

"AttributeError: 'ListStore' object has no attribute 'GtkTreeRowReference'."これらの努力により、Pythonは呼び出しを Varying に変更することについて不平を言うようTreeRowReferenceになり、 Gtk_TreeRowReference他のいくつかのバリエーションでも同じエラー メッセージが生成されました。

Gtk.TreeRowReferencePyGObject/Gtk3 での使用方法について手がかりを教えてもらえますか? 比較的新しく経験の浅い Python プログラマーであり、Gtk も初めて使用するので、息を呑むほど明白な何かを見落としていることは間違いありませんが、インターネットで何度も検索した後でも困惑しています。