2

私はこの質問を読みましたが、その答えは私にはうまくいきません。したがって、これは重複していません。

この問題は、私が持っているプロジェクトで発生しています。このプロジェクトでは、基本的にGUIモジュールとメインモジュールを分離しています。メインモジュールからGUIを初期化し、ステータスアイコンを作成します(つまり、アイコンとタイトルを設定します)が、私の努力にもかかわらず、そのラベルは常にpythonスクリプトの名前を読み取ります。

プロジェクトの欠陥のあるコードは、次のようなものです。

import gtk

class Main:

    def __init__(self):
        self.statusicon = gtk.StatusIcon()
        self.statusicon.set_from_icon_name('call-end-symbolic')
        self.statusicon.set_title('Title reads')

        self.cb = gtk.combo_box_new_text() # Faulty line

        gtk.main()

if __name__ == '__main__':
    instance = Main()

ばかげているように思われるかもしれませんが、「誤った行」を削除することで、コードは完全に機能します。つまり、タイトルが設定されます。ただし、その行を削除しないと、タイトルは設定されず、スクリプト名はタイトルのままになります。

PyGTKのドキュメントを読みましたが、障害のある行で呼び出されたgtkメソッドは非推奨であるgtk.ComboBoxText()と書かれています。代わりに使用する必要があります。ただし、モジュールgtk.ComboBoxText内が見つかりません。gtk

>>> dir(gtk.ComboBoxText)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'ComboBoxText'

この質問は答えよりもバグレポートが必要だと思いますが、間違っている場合は訂正してください。

4

0 に答える 0