我正在使用Spyder IDE开发一个带有启动画面的程序。我使用了这个解决方案:
class Splash():
def __init__(self):
self.window = Gtk.Window()
self.window.set_title("Launching Astrogator initalized!")
self.window.set_decorated(False)
self.window.set_resizable(False)
self.window.set_position(Gtk.WindowPosition.CENTER)
self.window.set_icon_from_file("artwork/icon/icon.svg")
# A solution before
# self.image = Gtk.Image()
# self.image.set_from_file('artwork/splash/splash_small.png')
# self.image.show()
# self.window.add(self.image)
box = Gtk.VBox()
image_area = Gtk.Box()
box.add(image_area)
image = Gtk.Image()
image.set_from_file('./artwork/splash/splash_small.png')
image_area.add(image)
image_area.show_all()
self.window.add(box)
self.window.show_all()
def destroy(self):
self.destroy = Gtk.Window.destroy(self)
self.destroy
if __name__ == "__main__":
splashScreen = Splash()
while Gtk.events_pending():
Gtk.main_iteration()
sleep(3)
astrogatorApp = App() # Main GUI. No displayed code
splashScreen.window.destroy()
Gtk.main()
当我首先在Spyder上运行它时没有问题。但是第二次没有显示启动图像,窗口是透明的。
当我从终端运行时,图像首先运行也不存在......
每次显示图像时如何工作?
此致 雅各布克里格