首先是代码:
from gi.repository import Gtk, GtkSource, GObject
import os.path
import shelve
class MusicCollection(object):
def __init__(self):
self.builder = Gtk.Builder()
self.glade_file = 'music.glade'
GObject.type_register(GtkSource.View)
self.builder.add_from_file(self.glade_file)
self.window = self.builder.get_object("window1")
self.entry_author = self.builder.get_object("entry_author")
self.entry_album = self.builder.get_object("entry_album")
self.entry_songs = self.builder.get_object("entry_songs")
self.borrowed_toggle = self.builder.get_object("borrowed")
self.create_button = self.builder.get_object("create")
self.update_button = self.builder.get_object("update")
self.delete_button = self.builder.get_object("destroy")
self.view = self.builder.get_object("treeview1")
self.albums_list = self.builder.get_object("albums_list")
self.db = shelve.open("data.db")
self.columns = ["Author", "Album", "Songs", "Borrowed"]
self.connect_signals()
self.initialize()
self.window.show_all()
def connect_signals(self):
self.create_button.connect("clicked", self.create)
self.update_button.connect("clicked", self.update)
self.delete_button.connect("clicked", self.destroy)
self.window.connect("destroy", self.quit)
self.view.get_selection().connect("changed", self.changed)
def initialize(self):
try: …Run Code Online (Sandbox Code Playgroud)