def __init__(self, parent, main): QDialog.__init__(self, parent) self.ui = Ui_IMDBSearchDialog() self.ui.setupUi(self) self._main = main self.ui.searchMovieButton.clicked.connect(self.onSearchMovieButton) self.ui.movieInfoButton.clicked.connect(self.onMovieInfoButton) self.ui.okButton.clicked.connect(self.onOkButton) self.ui.cancelButton.clicked.connect(self.onCancelButton) header = self.ui.searchResultsView.horizontalHeader() header.setSectionResizeMode(QHeaderView.Stretch) header.hide() self.ui.searchResultsView.verticalHeader().hide() self.imdbModel = ImdbListModel(self) self.ui.searchResultsView.setModel(self.imdbModel) # FIXME: This connection should be cleaner. self.imdbModel._main = self self.imdbSelectionModel = QItemSelectionModel(self.imdbModel) self.ui.searchResultsView.setSelectionModel(self.imdbSelectionModel) self.imdbSelectionModel.selectionChanged.connect( self.onIMDBChangeSelection) self.ui.searchResultsView.activated.connect(self.onOkButton)