def _handle_table_paste(self): indices = [] for index in self.tableView.selectedIndexes(): indices.append((index.row(), index.column())) if not indices: return top_left = indices[0] data_type = QApplication.instance().clipboard().mimeData() if not data_type.hasText(): # Don't paste images etc. return clipboard_text = QApplication.instance().clipboard().text() copied_table = extract_table_from_clipboard_text(clipboard_text) if len(copied_table) == 1 and len(copied_table[0]) == 1: # Only one value, so put it in all selected cells self._do_bulk_update(copied_table[0][0]) return self.model.update_data_from_clipboard( copied_table, top_left, self._get_hidden_column_indices())
def closeEvent(self, event): if self.confirmexit and QMessageBox.question( self, 'Quit', 'Do you really want to quit?', QMessageBox.Yes | QMessageBox.No) == QMessageBox.No: event.ignore() return for panel in self.panels: if not panel.requestClose(): event.ignore() return if self.autosavelayout: self.saveWindowLayout() with self.sgroup as settings: self.saveSettings(settings) for panel in self.panels: with panel.sgroup as settings: panel.saveSettings(settings) for window in list(self.windows.values()): if not window.close(): event.ignore() return if self.helpWindow: self.helpWindow.close() if self.client.isconnected: self.on_actionConnect_triggered(False) event.accept() QApplication.instance().quit()
def setQSS(style_file): with open(style_file, 'r', encoding='utf-8') as fd: try: QApplication.instance().setStyleSheet(fd.read()) except Exception as e: print(e)
def setQSS(self, stylefile): with open(stylefile, 'r') as fd: try: QApplication.instance().setStyleSheet(fd.read()) except Exception as e: print(e)
def _handle_copy_cells(self): selected_data = self._extract_selected_data() clipboard_text = convert_table_to_clipboard_text(selected_data) QApplication.instance().clipboard().setText(clipboard_text)