私はGUIを使ってPythonプログラムを作成しています。私は私が作成したチュートリアルにPyCharmでのpython 2.7のプロジェクトを作成し、それに基づきましGladeで作成したインターフェイスをテストするための単純なプログラムをPythonで作成するには?
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.20.0 -->
<interface>
<requires lib="gtk+" version="3.20"/>
<object class="GtkWindow">
<property name="can_focus">False</property>
<child>
<object class="GtkNotebook">
<property name="visible">True</property>
<property name="can_focus">True</property>
<child>
<object class="GtkLayout">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkLabel">
<property name="width_request">100</property>
<property name="height_request">80</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">label</property>
</object>
<packing>
<property name="x">158</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btnOne">
<property name="label" translatable="yes">One</property>
<property name="width_request">160</property>
<property name="height_request">34</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="margin_right">1</property>
<property name="action_name">btnOneAction</property>
</object>
<packing>
<property name="x">126</property>
<property name="y">56</property>
</packing>
</child>
</object>
</child>
<child type="tab">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">One</property>
</object>
<packing>
<property name="tab_fill">False</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child type="tab">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">page 2</property>
</object>
<packing>
<property name="position">1</property>
<property name="tab_fill">False</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child type="tab">
<placeholder/>
</child>
</object>
</child>
</object>
</interface>
:グレードは、Mac上で動作するように取得しようと数時間程度過ごした後、私はようやく私の最初の.glade
ファイルを作成しましたインターフェイスでプログラムを試してみて、実行するには、次の.py
ファイル:
#!/usr/bin/env python
import sys
try:
import pygtk
pygtk.require("2.0")
except:
pass
try:
import gtk
import gtk.glade
except:
sys.exit(1)
class main:
"""This is an Hello World GTK application"""
def __init__(self):
# Set the Glade file
self.gladefile = "gui.glade"
self.wTree = gtk.glade.XML(self.gladefile)
# Create our dictionay and connect it
dic = {"on_btnHelloWorld_clicked": self.btnHelloWorld_clicked,
"on_MainWindow_destroy": gtk.main_quit}
self.wTree.signal_autoconnect(dic)
def btnHelloWorld_clicked(self, widget):
print("Hello World!")
if __name__ == "__main__":
hwg = main()
gtk.main()
残念ながら、私は本当にコードを理解していない、と私はそれを実行したときに起こることすべてが、コンソール出力である「Process finished with exit code 1
」
したがって、エラーはありませんが、私はまだプログラムを実行して、私が構築したインターフェースを見ることができません。
は.glade
ファイル(gui.glade
)は、既にプロジェクトにインポートされている点に注意してください、この.py
ファイル(main.py
)と同じディレクトリにあります。
ビルドしてインポートしたGladeインターフェイスを使用するPyCharmでプログラムを作成するだけです。この段階ではPyCharmを実行するときの方法を理解する必要がありますmain.py
、私のインターフェイスが表示されます。
すべての、感謝
デバッグの素晴らしい世界へようこそ。 PyCharmにはデバッガがあります。それをオンにし、失敗するまであなたのコードを歩いてください。 – nanotek