def on_btn_fuzzing_clicked(self):
fuz_mode = "Successive"
if self.ui.rbConcurrent.isChecked():
fuz_mode = "Concurrent"
elif self.ui.rBExhaustive.isChecked():
fuz_mode = "Exhaustive"
self.setCursor(Qt.WaitCursor)
fuzz_action = Fuzz(self.table_model.protocol, fuz_mode)
self.table_model.undo_stack.push(fuzz_action)
for row in fuzz_action.added_message_indices:
self.table_model.update_checksums_for_row(row)
self.unsetCursor()
self.ui.tableMessages.setFocus()
python类WaitCursor()的实例源码
def on_view_type_changed(self):
self.setCursor(Qt.WaitCursor)
self.table_model.proto_view = self.ui.cbViewType.currentIndex()
self.ui.tableMessages.resize_columns()
self.unsetCursor()
def on_fuzzing_finished(self):
self.ui.stackedWidgetFuzzing.setCurrentWidget(self.ui.pageFuzzingUI)
# Calculate Checksums for Fuzzed Messages
self.setCursor(Qt.WaitCursor)
self.unsetCursor()
def on_set_noise_in_graphic_view_clicked(self):
self.setCursor(Qt.WaitCursor)
start = self.ui.gvSignal.selection_area.x
end = start + self.ui.gvSignal.selection_area.width
new_thresh = self.signal.calc_noise_threshold(start, end)
self.ui.spinBoxNoiseTreshold.setValue(new_thresh)
self.ui.spinBoxNoiseTreshold.editingFinished.emit()
self.unsetCursor()
def on_cb_signal_view_index_changed(self):
self.setCursor(Qt.WaitCursor)
self.__set_spectrogram_adjust_widgets_visibility()
if self.ui.cbSignalView.currentText().lower() == "spectrogram":
self.ui.stackedWidget.setCurrentWidget(self.ui.pageSpectrogram)
self.draw_spectrogram(show_full_scene=True)
self.__set_selected_bandwidth()
else:
self.ui.stackedWidget.setCurrentWidget(self.ui.pageSignal)
self.ui.gvSignal.scene_type = self.ui.cbSignalView.currentIndex()
self.ui.gvSignal.redraw_view(reinitialize=True)
if self.ui.cbSignalView.currentIndex() == 1:
self.ui.gvLegend.y_scene = self.scene_manager.scene.sceneRect().y()
self.ui.gvLegend.scene_height = self.scene_manager.scene.sceneRect().height()
self.ui.gvLegend.refresh()
else:
self.ui.gvLegend.hide()
self.ui.gvSignal.auto_fit_view()
self.ui.gvSignal.refresh_selection_area()
self.on_slider_y_scale_value_changed() # apply YScale to new view
self.__set_samples_in_view()
self.__set_duration()
self.unsetCursor()
def on_bandpass_filter_triggered(self, f_low: float, f_high: float):
self.filter_abort_wanted = False
QApplication.instance().setOverrideCursor(Qt.WaitCursor)
filter_bw = Filter.read_configured_filter_bw()
filtered = Array("f", 2 * self.signal.num_samples)
p = Process(target=perform_filter, args=(filtered, self.signal.data, f_low, f_high, filter_bw))
p.daemon = True
p.start()
while p.is_alive():
QApplication.instance().processEvents()
if self.filter_abort_wanted:
p.terminate()
p.join()
QApplication.instance().restoreOverrideCursor()
return
time.sleep(0.1)
filtered = np.frombuffer(filtered.get_obj(), dtype=np.complex64)
signal = self.signal.create_new(new_data=filtered.astype(np.complex64))
signal.name = self.signal.name + " filtered with f_low={0:.4n} f_high={1:.4n} bw={2:.4n}".format(f_low, f_high,
filter_bw)
self.signal_created.emit(signal)
QApplication.instance().restoreOverrideCursor()
def add_signal(self, signal, group_id=0, index=-1):
self.setCursor(Qt.WaitCursor)
pa = ProtocolAnalyzer(signal)
sig_frame = self.signal_tab_controller.add_signal_frame(pa, index=index)
pa = self.compare_frame_controller.add_protocol(pa, group_id)
signal.blockSignals(True)
has_entry = self.project_manager.read_project_file_for_signal(signal)
if not has_entry and not signal.changed:
signal.auto_detect()
signal.blockSignals(False)
self.signal_protocol_dict[sig_frame] = pa
sig_frame.refresh(draw_full_signal=True) # protocol is derived here
if self.project_manager.read_participants_for_signal(signal, pa.messages):
sig_frame.ui.gvSignal.redraw_view()
sig_frame.ui.gvSignal.auto_fit_view()
self.set_frame_numbers()
self.compare_frame_controller.filter_search_results()
self.refresh_main_menu()
self.unsetCursor()
def on_open_recent_action_triggered(self):
action = self.sender()
try:
if os.path.isdir(action.data()):
self.project_manager.set_project_folder(action.data())
elif os.path.isfile(action.data()):
self.setCursor(Qt.WaitCursor)
self.add_files(FileOperator.uncompress_archives([action.data()], QDir.tempPath()))
self.unsetCursor()
except Exception as e:
Errors.generic_error(self.tr("Failed to open"), str(e), traceback.format_exc())
self.unsetCursor()
def on_signals_recorded(self, file_names: list, sample_rate: float):
QApplication.instance().setOverrideCursor(Qt.WaitCursor)
for filename in file_names:
self.add_signalfile(filename, enforce_sample_rate=sample_rate)
QApplication.instance().restoreOverrideCursor()
def __add_urls_to_group(self, file_urls, group_id=0):
local_files = [file_url.toLocalFile() for file_url in file_urls if file_url.isLocalFile()]
if len(local_files) > 0:
self.setCursor(Qt.WaitCursor)
self.add_files(FileOperator.uncompress_archives(local_files, QDir.tempPath()), group_id=group_id)
self.unsetCursor()
def save_as(self, filename: str):
QApplication.instance().setOverrideCursor(Qt.WaitCursor)
self.filename = filename
FileOperator.save_signal(self)
self.name = os.path.splitext(os.path.basename(filename))[0]
self.changed = False
QApplication.instance().restoreOverrideCursor()
def save_file(self, fileName):
"""(file open for writing)-> boolean
"""
fname = QFile(fileName)
if not fname.open(QFile.WriteOnly | QFile.Text):
QMessageBox.warning(self, "Application",
"Cannot write file %s:\n%s." % (fileName, fname.errorString()))
return False
outf = QTextStream(fname)
QApplication.setOverrideCursor(Qt.WaitCursor)
outf << self.ui.textEdit.toPlainText()
QApplication.restoreOverrideCursor()
def save_file(self, fileName):
'''(file open for writing)-> boolean
'''
fname = QFile(fileName)
if not fname.open(QFile.WriteOnly | QFile.Text):
QMessageBox.warning(self, "Application",
"Cannot write file %s:\n%s." % (fileName, fname.errorString()))
return False
outf = QTextStream(fname)
QApplication.setOverrideCursor(Qt.WaitCursor)
outf << self.ui.textEdit.toPlainText()
QApplication.restoreOverrideCursor()
def save_file(self, filename):
'''(file open for writing)-> boolean
'''
file_name = QFile(filename)
if not file_name.open(QFile.WriteOnly | QFile.Text):
return False
outf = QTextStream(file_name)
QApplication.setOverrideCursor(Qt.WaitCursor)
outf << self.ui.textEdit.toPlainText()
QApplication.restoreOverrideCursor()
def save_file(self, filename):
'''(file open for writing)-> boolean
'''
fname = QFile(filename)
if not fname.open(QFile.WriteOnly | QFile.Text):
QMessageBox.warning(self, "Application",
"Cannot write file %s:\n%s." % (filename, fname.errorString()))
return False
outf = QTextStream(fname)
QApplication.setOverrideCursor(Qt.WaitCursor)
outf << self.ui.textEdit.toPlainText()
QApplication.restoreOverrideCursor()
def loadFile(self, fileName):
file = QFile(fileName)
if not file.open( QFile.ReadOnly | QFile.Text):
QMessageBox.warning(self, "Recent Files",
"Cannot read file %s:\n%s." % (fileName, file.errorString()))
return
instr = QTextStream(file)
QApplication.setOverrideCursor(Qt.WaitCursor)
self.textEdit.setPlainText(instr.readAll())
QApplication.restoreOverrideCursor()
self.setCurrentFile(fileName)
self.statusBar().showMessage("File loaded", 2000)
def saveFile(self, fileName):
file = QFile(fileName)
if not file.open( QFile.WriteOnly | QFile.Text):
QMessageBox.warning(self, "Recent Files",
"Cannot write file %s:\n%s." % (fileName, file.errorString()))
return
outstr = QTextStream(file)
QApplication.setOverrideCursor(Qt.WaitCursor)
outstr << self.textEdit.toPlainText()
QApplication.restoreOverrideCursor()
self.setCurrentFile(fileName)
self.statusBar().showMessage("File saved", 2000)
def finalize(self, event):
if comm.rank == 0:
self.app.setOverrideCursor(QCursor(Qt.WaitCursor))
self.mpi_wait = comm.bcast(numpy.array([1], dtype=numpy.int32), root=0)
comm.Barrier()
self.all_merges = comm.bcast(self.all_merges, root=0)
self.to_delete = comm.bcast(self.to_delete, root=0)
slice_templates(self.params, to_merge=self.all_merges, to_remove=list(self.to_delete), extension=self.ext_out)
slice_clusters(self.params, self.clusters, to_merge=self.all_merges, to_remove=list(self.to_delete), extension=self.ext_out, light=True)
if comm.rank == 0:
new_result = {'spiketimes' : {}, 'amplitudes' : {}}
to_keep = set(numpy.unique(self.indices)) - set(self.to_delete)
to_keep = numpy.array(list(to_keep))
for count, temp_id in enumerate(to_keep):
key_before = 'temp_' + str(temp_id)
key_after = 'temp_' + str(count)
new_result['spiketimes'][key_after] = self.result['spiketimes'].pop(key_before)
new_result['amplitudes'][key_after] = self.result['amplitudes'].pop(key_before)
keys = ['spiketimes', 'amplitudes']
if self.params.getboolean('fitting', 'collect_all'):
keys += ['gspikes']
new_result['gspikes'] = io.get_garbage(self.params)['gspikes']
mydata = h5py.File(self.file_out_suff + '.result%s.hdf5' %self.ext_out, 'w', libver='latest')
for key in keys:
mydata.create_group(key)
for temp in new_result[key].keys():
tmp_path = '%s/%s' %(key, temp)
mydata.create_dataset(tmp_path, data=new_result[key][temp])
mydata.close()
mydata = h5py.File(self.file_out_suff + '.templates%s.hdf5' %self.ext_out, 'r+', libver='latest')
version = mydata.create_dataset('version', data=numpy.array([circus.__version__.encode('ascii', 'ignore')]))
maxoverlaps = mydata.create_dataset('maxoverlap', shape=(len(to_keep), len(to_keep)), dtype=numpy.float32)
maxlag = mydata.create_dataset('maxlag', shape=(len(to_keep), len(to_keep)), dtype=numpy.int32)
for c, i in enumerate(to_keep):
maxoverlaps[c, :] = self.overlap[i, to_keep]*self.shape[0] * self.shape[1]
maxlag[c, :] = self.lag[i, to_keep]
mydata.close()
self.app.restoreOverrideCursor()
sys.exit(0)
qtpropertybrowserutils.py 文件源码
项目:QtPropertyBrowserV2.6-for-pyqt5
作者: theall
项目源码
文件源码
阅读 26
收藏 0
点赞 0
评论 0
def __init__(self):
self.m_cursorNames = QList()
self.m_cursorIcons = QMap()
self.m_valueToCursorShape = QMap()
self.m_cursorShapeToValue = QMap()
self.appendCursor(Qt.ArrowCursor, QCoreApplication.translate("QtCursorDatabase", "Arrow"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-arrow.png"))
self.appendCursor(Qt.UpArrowCursor, QCoreApplication.translate("QtCursorDatabase", "Up Arrow"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-uparrow.png"))
self.appendCursor(Qt.CrossCursor, QCoreApplication.translate("QtCursorDatabase", "Cross"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-cross.png"))
self.appendCursor(Qt.WaitCursor, QCoreApplication.translate("QtCursorDatabase", "Wait"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-wait.png"))
self.appendCursor(Qt.IBeamCursor, QCoreApplication.translate("QtCursorDatabase", "IBeam"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-ibeam.png"))
self.appendCursor(Qt.SizeVerCursor, QCoreApplication.translate("QtCursorDatabase", "Size Vertical"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-sizev.png"))
self.appendCursor(Qt.SizeHorCursor, QCoreApplication.translate("QtCursorDatabase", "Size Horizontal"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-sizeh.png"))
self.appendCursor(Qt.SizeFDiagCursor, QCoreApplication.translate("QtCursorDatabase", "Size Backslash"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-sizef.png"))
self.appendCursor(Qt.SizeBDiagCursor, QCoreApplication.translate("QtCursorDatabase", "Size Slash"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-sizeb.png"))
self.appendCursor(Qt.SizeAllCursor, QCoreApplication.translate("QtCursorDatabase", "Size All"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-sizeall.png"))
self.appendCursor(Qt.BlankCursor, QCoreApplication.translate("QtCursorDatabase", "Blank"),
QIcon())
self.appendCursor(Qt.SplitVCursor, QCoreApplication.translate("QtCursorDatabase", "Split Vertical"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-vsplit.png"))
self.appendCursor(Qt.SplitHCursor, QCoreApplication.translate("QtCursorDatabase", "Split Horizontal"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-hsplit.png"))
self.appendCursor(Qt.PointingHandCursor, QCoreApplication.translate("QtCursorDatabase", "Pointing Hand"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-hand.png"))
self.appendCursor(Qt.ForbiddenCursor, QCoreApplication.translate("QtCursorDatabase", "Forbidden"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-forbidden.png"))
self.appendCursor(Qt.OpenHandCursor, QCoreApplication.translate("QtCursorDatabase", "Open Hand"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-openhand.png"))
self.appendCursor(Qt.ClosedHandCursor, QCoreApplication.translate("QtCursorDatabase", "Closed Hand"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-closedhand.png"))
self.appendCursor(Qt.WhatsThisCursor, QCoreApplication.translate("QtCursorDatabase", "What's This"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-whatsthis.png"))
self.appendCursor(Qt.BusyCursor, QCoreApplication.translate("QtCursorDatabase", "Busy"),
QIcon(":/qt-project.org/qtpropertybrowser/images/cursor-busy.png"))
def OnStartMethod(self):
QApplication.setOverrideCursor(Qt.WaitCursor)
self.startMethod.setEnabled(False)
self.tabWidget.setEnabled(False)
self.textEdit.setText("")
plt.cla()
plt.clf()
self.calculator.set_method_index(self.tabWidget.currentIndex())
self.calculator.need_preprocessing = self.checkBoxNeedPreprocessing.isChecked()
self.checkBoxNeedPreprocessing.setEnabled(False)
self.calculator.need_tf_idf = self.checkBoxNeedCalculateTFIDF.isChecked()
self.checkBoxNeedCalculateTFIDF.setEnabled(False)
# ???????? ????????? ? ????? ? ???????
self.calculator.kmeans_cluster_count = self.kmeans_cluster_count.value()
self.calculator.dbscan_min_pts = self.dbscan_min_pts.value()
self.calculator.dbscan_eps = self.dbscan_eps.value()
self.calculator.ward_clusters_count = self.ward_clusters_count.value()
self.calculator.spectral_clusters_count = self.spectral_clusters_count.value()
self.calculator.aa_damping = self.aa_damping.value()
self.calculator.aa_max_iter = self.aa_max_iter.value()
self.calculator.aa_no_change_stop = self.aa_no_change_stop.value()
self.calculator.mean_shift_quantile = self.mean_shift_quantile.value()
self.calculator.birch_threshold = self.birch_threshold.value()
self.calculator.birch_branching_factor = self.birch_branching_factor.value()
self.calculator.birch_clusters_count = self.birch_clusters_count.value()
self.profiler.start()
self.calculator.start()
# ??????? ??? ?????????? ????????