def main(self): self.app = QApplication(sys.argv) self.form = MainInterface() self.form.show() # db stuff self.db = PhotagDB() #setup thumbnailer self.thumbnailerThread = QThread() self.thumbnailer = Thumbnailer() self.thumbnailer.moveToThread(self.thumbnailerThread) self.thumbnailer.thumbnailFetched.connect(self.addThumb) self.thumbnailerThread.started.connect( self.thumbnailer.processRequests) self.thumbnailerThread.start() # context menu self.form.image_tree_view.customContextMenuRequested.connect( self.imageTreeContextMenu) baseQuery = WholeTreeQuery(self.db) self.form.image_tree_view.setModel(ImageViewModel(baseQuery)) self.form.tag_tree_view.setModel(TagViewModel(self.db)) self.form.image_tree_view.selectionModel().currentChanged.connect( self.updateMediaLabel) self.form.action_new_tag.triggered.connect(self.newTag) self.form.action_walk_roots.triggered.connect(self.walkAllRoots) self.form.tag_tree_view.doubleClicked.connect(self.tagCurrentSelected) self.form.query_bar.returnPressed.connect(self.enterQuery) self.form.action_manage_roots.triggered.connect(self.manageRoots) self.app.exec_()