在pygtk+中,可以使用定时器来实现在第一张图片之后3秒显示第二张图片的效果。以下是一个示例代码:
import gtk
import gobject
class ImageWindow(gtk.Window):
def __init__(self):
gtk.Window.__init__(self)
self.connect("destroy", gtk.main_quit)
self.images = ["image1.jpg", "image2.jpg"] # 图片路径列表
self.current_image = 0 # 当前显示的图片索引
self.image = gtk.Image()
self.add(self.image)
self.show_image() # 显示第一张图片
def show_image(self):
self.image.set_from_file(self.images[self.current_image]) # 设置当前显示的图片
self.current_image += 1 # 切换到下一张图片
if self.current_image >= len(self.images):
self.current_image = 0 # 如果已经是最后一张图片,则切换到第一张图片
gobject.timeout_add(3000, self.show_image) # 3秒后再次调用show_image方法
if __name__ == "__main__":
window = ImageWindow()
window.show_all()
gtk.main()
在上述代码中,首先定义了一个ImageWindow
类,继承自gtk.Window
。在__init__
方法中,创建了一个gtk.Image
对象,并将其添加到窗口中。show_image
方法用于显示图片,通过set_from_file
方法设置当前显示的图片路径,并在切换到下一张图片之前使用gobject.timeout_add
方法设置一个3秒的定时器,以便在3秒后再次调用show_image
方法。
在__main__
部分,创建了一个ImageWindow
对象,并显示窗口。最后调用gtk.main()
进入GTK+的主循环,等待事件的触发。
请注意,上述代码仅为示例,假设图片路径已经正确设置。在实际应用中,您需要根据实际情况修改代码以适应您的需求。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云