示例#1
0
    def __init__(self, parent: QWidget):
        """Set the parameters for drawing."""
        super(BaseCanvas, self).__init__(parent)
        self.setSizePolicy(QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding))
        self.setFocusPolicy(Qt.StrongFocus)
        self.painter = QPainter()

        # Origin coordinate.
        self.ox = self.width() / 2
        self.oy = self.height() / 2
        # Canvas zoom rate.
        self.rate = 2.
        self.zoom = 2. * self.rate
        # Joint size.
        self.joint_size = 3
        # Canvas line width.
        self.link_width = 3
        self.path_width = 3
        # Font size.
        self.font_size = 15
        # Show point mark or dimension.
        self.show_point_mark = True
        self.show_dimension = True
        # Path track.
        self.Path = _Path()
        # Path solving.
        self.target_path = {}
        self.show_target_path = False
        # Background
        self.background = QImage()
        self.background_opacity = 1.
        self.background_scale = 1
        self.background_offset = QPointF(0, 0)
示例#2
0
 def __init__(self, *args):
     """Type name: "DXF module"."""
     super(DxfOutputDialog,
           self).__init__("DXF", "dxf.png",
                          "The part sketchs will including in the file.",
                          "There is only wire frame will be generated.",
                          *args)
     # DXF version option.
     version_label = QLabel("DXF version:", self)
     self.version_option = QComboBox(self)
     self.version_option.addItems(
         sorted((f"{name} - {DXF_VERSIONS_MAP[name]}"
                 for name in DXF_VERSIONS),
                key=lambda v: v.split()[-1]))
     self.version_option.setCurrentIndex(self.version_option.count() - 1)
     self.version_option.setSizePolicy(
         QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed))
     dxf_version_layout = QHBoxLayout()
     dxf_version_layout.addWidget(version_label)
     dxf_version_layout.addWidget(self.version_option)
     self.main_layout.insertLayout(3, dxf_version_layout)
     # Parts interval.
     self.interval_enable = QCheckBox("Parts interval:", self)
     self.interval_enable.setCheckState(Qt.Checked)
     self.interval_option = QDoubleSpinBox(self)
     self.interval_option.setValue(10)
     self.interval_enable.stateChanged.connect(
         self.interval_option.setEnabled)
     dxf_interval_layout = QHBoxLayout()
     dxf_interval_layout.addWidget(self.interval_enable)
     dxf_interval_layout.addItem(
         QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum))
     dxf_interval_layout.addWidget(self.interval_option)
     self.assembly_layout.insertLayout(2, dxf_interval_layout)
示例#3
0
 def __init__(self, parent=None):
     super(BaseCanvas, self).__init__(parent)
     self.setSizePolicy(QSizePolicy(
         QSizePolicy.Expanding,
         QSizePolicy.Expanding
     ))
     #Origin coordinate.
     self.ox = self.width()/2
     self.oy = self.height()/2
     #Canvas zoom rate.
     self.rate = 2
     self.zoom = 2 * self.rate
     #Canvas line width.
     self.linkWidth = 3
     self.pathWidth = 3
     #Font size.
     self.fontSize = 10
     #Show point mark or dimension.
     self.showPointMark = True
     self.showDimension = True
     #Path track.
     self.Path = Path()
     #Path solving.
     self.targetPath = {}
     self.showTargetPath = False
示例#4
0
 def __init__(self,
              RowCount: int,
              HorizontalHeaderItems: Tuple[str],
              parent=None):
     super(BaseTableWidget, self).__init__(parent)
     self.setSizePolicy(
         QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding))
     self.setEditTriggers(QAbstractItemView.NoEditTriggers)
     self.setSelectionBehavior(QAbstractItemView.SelectRows)
     self.setVerticalScrollMode(QAbstractItemView.ScrollPerPixel)
     self.setHorizontalScrollMode(QAbstractItemView.ScrollPerPixel)
     self.setRowCount(RowCount)
     self.setColumnCount(len(HorizontalHeaderItems) + 1)
     for i, e in enumerate(('Name', ) + HorizontalHeaderItems):
         self.setHorizontalHeaderItem(i, QTableWidgetItem(e))
示例#5
0
    def __init__(self, row: int, headers: Sequence[str], parent: QWidget):
        super(_BaseTableWidget, self).__init__(parent)
        self.setSizePolicy(
            QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding))
        self.setStatusTip(
            "This table will show about the entities items in current view mode."
        )
        self.setEditTriggers(QAbstractItemView.NoEditTriggers)
        self.setSelectionBehavior(QAbstractItemView.SelectRows)
        self.setVerticalScrollMode(QAbstractItemView.ScrollPerPixel)
        self.setHorizontalScrollMode(QAbstractItemView.ScrollPerPixel)

        self.setRowCount(row)
        self.setColumnCount(len(headers))
        for i, e in enumerate(headers):
            self.setHorizontalHeaderItem(i, QTableWidgetItem(e))

        self.itemSelectionChanged.connect(self.__emitSelectionChanged)