def __init__(self, manager, parent): QDialog.__init__(self, parent) self._manager = manager self._model = ActionModel(manager) self._originalShortcuts = {} self._proxy = _RecursiveSortFilterProxyModel(self) self._proxy.setSourceModel(self._model) self._proxy.setFilterCaseSensitivity(Qt.CaseInsensitive) self._proxy.setSortCaseSensitivity(Qt.CaseInsensitive) uic.loadUi( os.path.join(os.path.dirname(__file__), 'ActionShortcutEditor.ui'), self) self.leFilter.setPromptText("Text filter...") self.tvActions.setModel(self._proxy) self.tvActions.header().setResizeMode(0, QHeaderView.Stretch) self.tvActions.header().setResizeMode(1, QHeaderView.ResizeToContents) self.tvActions.header().setResizeMode(2, QHeaderView.ResizeToContents) self.tvActions.expandAll() # connections self.tvActions.selectionModel().selectionChanged.connect( self.tvActions_selectionModel_selectionChanged) self.tvActions_selectionModel_selectionChanged()