私はまだPythonにはまったく新しいので、これはおそらくダムの質問になるでしょう。Pythonを使用してGTKでウィンドウタイプのヒントを設定しようとするとエラーが発生する
私はpygtkを使ってGUIを作る方法を学ぼうとしています(主にLinuxを使っているので、自分のプログラムでGTKテーマのサポートをしたいと思います)。できるだけシンプルなウィンドウから始めました。タイリングウィンドウマネージャを使用しているので、プログラムがタイル表示されることがわかりました。
これは問題ではありませんが、私が作りたい最初のプログラムはフローティングウィンドウが必要ですが、クライアントサイドでウィンドウマネージャの設定を修正することができますが、みんなのために働いています。
After some research私は、ウィンドウマネージャが自動的に "フローティング"として設定するウィンドウタイプのヒントを設定することであることを発見しました。これは、リソースとしてthisを使用して、私が試したものです:
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
win = Gtk.Window()
win.connect("delete-event", Gtk.main_quit)
win.set_type_hint(Gtk.gdk.WINDOW_TYPE_HINT_UTILITY)
win.show_all()
Gtk.main()
しかし、それは動作しません。私はトレースバックを取得します。
Traceback (most recent call last):
File "/mnt/storHDD/Programming/Python/python-learning/guitesting.py", line 7, in <module>
win.set_type_hint(Gtk.gdk.WINDOW_TYPE_HINT_UTILITY)
File "/usr/lib/python3.5/site-packages/gi/overrides/__init__.py", line 39, in __getattr__
return getattr(self._introspection_module, name)
File "/usr/lib/python3.5/site-packages/gi/module.py", line 139, in __getattr__
self.__name__, name))
AttributeError: 'gi.repository.Gtk' object has no attribute 'gdk'
私はここから何をすべきか分かりません。私もgdkをインポートしようとしましたが、何も変更されていないようです。これを解決するために私が何をすることができますか?あなたがGtk.gdk.WINDOW_TYPE_HINT_UTILITY
、その後、Gdk.WindowTypeHint.UTILITY
を使用し、Gdk
をインポートする必要はありません
pygtkは__not__ Gtk3です。あなたがpygtkコードを見るたびに、それは時代遅れであり、Gtk3では動作しません。 'gtk.gdk'はその一例です。 –
申し訳ありませんが、私はしませんでした。しかし、答えをありがとう。 Rawingによれば、これはpygtkが古くなっているので、何か良い方法がありますか? – Kurolox
これは私にとって完璧なようです! –