Может быть, я неправильно понимаю вопрос, но не должен ли он быть таким простым?
Я объясню ответ как @DanD. указал.
Вам просто нужно установить путь к изображению (self.image.set_from_file (img)) в методе load_image (связан с сигналом нажатия кнопки) с нужным изображением.
Current Gtk.Image автоматически отобразит новое загруженное изображение.
import gi
import os
import sys
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
class GridWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Grid Example")
grid = Gtk.Grid()
self.add(grid)
self.button = Gtk.Button(label="Button 1")
self.image = Gtk.Image()
grid.add(self.button)
grid.add(self.image)
self.button.connect("clicked", self.load_image)
self.count = 0
for root, _, files in os.walk(sys.argv[1]):
self.images = [os.path.join(root, f) for f in files]
def load_image(self, event):
img = self.images[self.count]
print(img)
self.image.set_from_file(img)
self.count = self.count + 1
win = GridWindow()
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()
Нет, я не верю так. ASIO использовал повышение столько, сколько я услышал о нем. Я думаю, что они очень взаимосвязаны. Но можно интересоваться инструментом, BCP, которая позволяет Вам извлечь минимальное подмножество повышения, требуемого для библиотек, которыми Вы хотите пользоваться.
There is also a non-boost version of Asio:
Asio comes in two variants: (non-Boost) Asio and Boost.Asio.
See:
"non-boost asio" имеет свои биты потоков вместо использования boost.thread, но все равно требует повышения .date_time, boost.array, boost.utility, boost.bind, boost.shared_ptr ...
Нет версии Asio, которая могла бы работать без какой-либо зависимости Boost.