Как показать изображение PNG в Gtk3 с помощью Python? ⇐ Python

Программы на Python
Anonymous
Как показать изображение PNG в Gtk3 с помощью Python?

Сообщение Anonymous »

Прежде всего, важно отметить, что я изучаю Python и Gtk+ 3, поэтому я не являюсь продвинутым программистом на этих языках. p>

Я пытаюсь создать графический интерфейс в Gtk3 для сценария Python, который создает изображение png, и я хотел бы отобразить его, но документация по PyGobject настолько скудна, что я не нашел способа сделать это. Пока что мой интерфейс выглядит так:

Изображение


Кнопки и текстовые записи расположены в сетке, и я бы хотел оставить пустым большое пространство (представленное большой кнопкой) справа пока скрипт не завершит создание изображения, а затем покажите его в этой области. Код здесь.

Есть ли способ сделать это с помощью Python в Gtk3?

Заранее спасибо ,

Немецкий.

РЕДАКТИРОВАТЬ

Принимая взглянув на демоверсии, на которые указал @gpoo, я обнаружил виджет Frame и реализовал его в своем графическом интерфейсе. Вот как это выглядит:

Изображение


Внутри класса окна я добавляю фрейм в сетку:

Код: Выделить всё

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-WARNING **: Попытка добавить виджет
типа GtkImage в GtkFrame, но GtkFrame, являющийся подклассом GtkBin, может
содержать только один виджет одновременно; он уже содержит виджет
типа GtkImage


Любая помощь приветствуется!

Подробнее здесь: https://stackoverflow.com/questions/154 ... ith-python

Вернуться в «Python»