Оба нижеследующих кода создадут пустое окно Gtk, используя python. Однако они кажутся совсем другими.Разница между этими двумя структурами окна?
Каковы основные преимущества одного и другого? Есть ли какие-либо последствия для производительности, безопасности или совместимости при выборе одного или другого?
1-й код-надрез:
#!/usr/bin/python
from gi.repository import Gtk
win = Gtk.Window()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
второго кода надрез:
from gi.repository import Gtk, GdkPixbuf, Gdk
import os, sys
class GUI:
def __init__(self):
window = Gtk.Window()
window.set_title ("Hello World")
window.connect_after('destroy', self.destroy)
window.show_all()
def destroy(self, window):
Gtk.main_quit()
def main():
app = GUI()
Gtk.main()
if __name__ == "__main__":
sys.exit(main())
Ref1: 1st snip-code reference
Ref2: 2nd snip-code reference
Для больших программ первый подход не будет работать. Существует также третий способ. Вы также можете создать подкласс Gtk.Window. – elya5
О, я вижу, что для более крупных программ первый подход будет во многом похож на старые структурированные программы со всеми в одном файле или, по крайней мере, с большинством из них в одном файле. – Fawix