def __init__(self, parent): super(MplWidget, self).__init__(parent) # Create the mpl figure and subplot (white bg, 100 dots-per-inch). # Construct the canvas with the figure: self.plt_lim = [] # define variable for x,y plot limits if cmp_version("matplotlib", "2.2.0") >= 0: self.fig = Figure(constrained_layout=True) else: self.fig = Figure() self.pltCanv = FigureCanvas(self.fig) self.pltCanv.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) # Needed for mouse modifiers (x,y, <CTRL>, ...): # Key press events in general are not processed unless you # "activate the focus of Qt onto your mpl canvas" # http://stackoverflow.com/questions/22043549/matplotlib-and-qt-mouse-press-event-key-is-always-none self.pltCanv.setFocusPolicy(QtCore.Qt.ClickFocus) self.pltCanv.setFocus() self.pltCanv.updateGeometry() # Create a custom navigation toolbar, tied to the canvas and # initialize toolbar settings # #self.mplToolbar = NavigationToolbar(self.pltCanv, self) # original self.mplToolbar = MplToolbar(self.pltCanv, self) # inherits all methods self.mplToolbar.lock_zoom = False #self.mplToolbar.enable_plot(state = True) self.mplToolbar.sig_tx.connect(self.process_signals) #============================================= # Main plot widget layout #============================================= self.layVMainMpl = QVBoxLayout() self.layVMainMpl.addWidget(self.mplToolbar) self.layVMainMpl.addWidget(self.pltCanv) self.setLayout(self.layVMainMpl)
QLabel, QPixmap, QVBoxLayout, QHBoxLayout, pyqtSignal, QFrame, QEvent, QSizePolicy) import numpy as np import pyfda.filterbroker as fb # importing filterbroker initializes all its globals import pyfda.pyfda_dirs as dirs from pyfda.pyfda_lib import qstr, cmp_version, pprint_log import pyfda.pyfda_fix_lib as fx from pyfda.pyfda_io_lib import extract_file_ext from pyfda.pyfda_qt_lib import qget_cmb_box, qset_cmb_box, qstyle_widget from pyfda.fixpoint_widgets.fixpoint_helpers import UI_W, UI_Q from pyfda.pyfda_rc import params # when migen is present, instantiate the fixpoint widget if cmp_version("migen", "0.1") >= -1: # currently, version cannot be determined import migen HAS_MIGEN = True else: HAS_MIGEN = False # when deltasigma module is present, add a corresponding entry to the combobox try: import deltasigma HAS_DS = True except ImportError: HAS_DS = False #------------------------------------------------------------------------------ classes = { 'Input_Fixpoint_Specs': 'Fixpoint'
from ..compat import (Qt, QWidget, QPushButton, QComboBox, QFD, QSplitter, QLabel, QPixmap, QVBoxLayout, QHBoxLayout, pyqtSignal, QFrame, QEvent, QSizePolicy) #from myhdl import (toVerilog, toVHDL, Signal, always, always_comb, delay, # instance, instances, intbv, traceSignals, # Simulation, StopSimulation) import pyfda.filterbroker as fb # importing filterbroker initializes all its globals import pyfda.pyfda_dirs as dirs from pyfda.pyfda_lib import cmp_version from pyfda.pyfda_io_lib import extract_file_ext from pyfda.pyfda_qt_lib import qstr, qget_cmb_box from pyfda.pyfda_rc import params if cmp_version("myhdl", "0.10") >= 0: import myhdl HAS_MYHDL = True else: HAS_MYHDL = False # see C. Feltons "FPGA IIR Lowpass Direct Form I Filter Generator" # @ http://www.dsprelated.com/showcode/211.php #------------------------------------------------------------------------------ class Input_Fixpoint_Specs(QWidget): """ Create the widget for entering exporting / importing / saving / loading data """
QEvent, QSizePolicy) import numpy as np import pyfda.filterbroker as fb # importing filterbroker initializes all its globals import pyfda.pyfda_dirs as dirs from pyfda.pyfda_lib import qstr, cmp_version import pyfda.pyfda_fix_lib as fx from pyfda.pyfda_io_lib import extract_file_ext from pyfda.pyfda_qt_lib import qget_cmb_box, qstyle_widget from pyfda.fixpoint_widgets.fixpoint_helpers import UI_W, UI_Q from pyfda.pyfda_rc import params # check whether myhdl >= 0.10 is installed. BUT version 0.10 is incompatible # with Python 3.7, it is not installed. if cmp_version("myhdl", "0.10") >= 0: # suitable combination of Py and myhdl found import myhdl HAS_MYHDL = True else: HAS_MYHDL = False #------------------------------------------------------------------------------ class Input_Fixpoint_Specs(QWidget): """ Create the widget that holds the dynamically loaded fixpoint filter ui """ # emit a signal when the image has been resized sig_resize = pyqtSignal() # incoming, connected to input_tab_widget.sig_tx sig_rx = pyqtSignal(object)
QFrame, QEvent, QSizePolicy) import numpy as np import pyfda.filterbroker as fb # importing filterbroker initializes all its globals import pyfda.pyfda_dirs as dirs from pyfda.pyfda_lib import qstr, cmp_version import pyfda.pyfda_fix_lib as fx from pyfda.pyfda_io_lib import extract_file_ext from pyfda.pyfda_qt_lib import qget_cmb_box, qstyle_widget from pyfda.fixpoint_widgets.fixpoint_helpers import UI_W, UI_Q from pyfda.pyfda_rc import params # check whether myhdl >= 0.10 is installed. BUT version 0.10 is incompatible # with Python 3.7, it is not installed. if cmp_version("myhdl", "0.10") >= 0: # suitable combination of Py and myhdl found import myhdl HAS_MYHDL = True else: HAS_MYHDL = False #------------------------------------------------------------------------------ class Input_Fixpoint_Specs(QWidget): """ Create the widget that holds the dynamically loaded fixpoint filter ui """ # emit a signal when the image has been resized sig_resize = pyqtSignal() # incoming, connected to input_tab_widget.sig_tx