まず第一に、私はPythonとGtk + 3を学んでいるので、これらの言語の上級プログラマーではないことを言及することが重要です。
png画像を作成するPythonスクリプト用のグラフィカルインターフェイスをGtk3で作成しようとしていますが、それを表示したいのですが、PyGobjectのドキュメントが非常に少ないため、その方法が見つかりませんでした。これまでのところ、私のインターフェースは次のようになっています。
ボタンとテキストエントリはグリッドに配置されています。スクリプトが画像の作成を完了するまで、右側の大きなスペース(大きなボタンで表されます)を空のままにして、その領域に表示したいと思います。コードはここにあります。
Gtk3でPythonを使用してそれを行う方法はありますか?
前もって感謝します、
ドイツ人。
編集
@gpooが指摘したデモを見て、Frameウィジェットを見つけ、GUIに実装しました。これはどのように見えるかです:
ウィンドウクラス内で、フレームをグリッドに追加します。
self.frame_rgb = Gtk.Frame(label='RGB image')
self.frame_rgb.set_label_align(0.5, 0.5)
self.frame_rgb.set_shadow_type(Gtk.ShadowType.IN)
self.grid.attach_next_to(self.frame_rgb, self.label_img_name,
Gtk.PositionType.RIGHT, 3, 8)
また、[実行]ボタンをコールバック関数に接続して、クリックすると、スクリプトがpng画像を作成して表示するようにします。
self.button_run = Gtk.Button(stock=Gtk.STOCK_EXECUTE)
self.button_run.connect('clicked', self.on_button_run_clicked)
self.grid.attach_next_to(self.button_run, self.entry_b_img,
Gtk.PositionType.BOTTOM, 1, 1)
最後に、私のコールバック関数は次のとおりです(まだ計算は行われていません。テスト目的で画像をフレームにレンダリングするだけです)。
def on_button_run_clicked(self, widget):
self.img = Gtk.Image.new_from_file('astro-tux.png')
self.frame_rgb.add(self.img)
しかし、[実行]ボタンをクリックすると、次のエラーが発生しました。
(makeRGB.py:2613):Gtk-警告**:タイプGtkImageのウィジェットをGtkFrameに追加しようとしていますが、GtkBinサブクラスとしてGtkFrameには一度に1つのウィジェットしか含めることができません。すでにGtkImageタイプのウィジェットが含まれています
どんな助けでも大歓迎です!