示例#1
0
    def __init__(self, rect_size):
        super(RenderWidget, self).__init__()

        #        gs = popupcad.graphics2d.graphicsscene.GraphicsScene()
        #        gs = qg.QGraphicsScene()
        #        gs.setBackgroundBrush(qg.QBrush(qg.QColor.fromRgbF(1, 1, 1, 1)))
        #        self.gv = popupcad.graphics2d.graphicsview.GraphicsView(gs)
        self.gv = SimpleGraphicsView()
        gs = SimpleGraphicsScene(self.gv)
        self.gv.setScene(gs)
        self.gv.finish_init()

        self.gv.setRenderHint(qg.QPainter.Antialiasing)
        #        self.gv.setRenderHint(qg.QPainter.HighQualityAntialiasing,True)
        #        self.gv.setRenderHint(qg.QPainter.SmoothPixmapTransform,True)
        #        self.gs.setBackgroundBrush(qg.QBrush(qg.QColor.fromRgbF(1,1,1,0.1)))
        #        self.gs.setBackgroundBrush(qg.QBrush())

        self.directory_name = qg.QLineEdit()
        self.directory_button = qg.QPushButton('...')
        self.render_button = qg.QPushButton('render')

        layout = qg.QVBoxLayout()
        #        layout.addWidget(self.gv)
        layout.addWidget(self.directory_name)
        layout.addWidget(self.directory_button)
        layout.addWidget(self.render_button)

        self.setLayout(layout)
        self.gv.setMinimumSize(*rect_size)
        self.gv.setMaximumSize(*rect_size)

        self.directory_button.clicked.connect(self.select_directory)
        self.render_button.clicked.connect(self.render)
示例#2
0
class RenderWidget(qg.QWidget):

    def __init__(self, rect_size):
        super(RenderWidget, self).__init__()

#        gs = popupcad.graphics2d.graphicsscene.GraphicsScene()
        gs = SimpleGraphicsScene()
#        gs = qg.QGraphicsScene()
#        gs.setBackgroundBrush(qg.QBrush(qg.QColor.fromRgbF(1, 1, 1, 1)))
#        self.gv = popupcad.graphics2d.graphicsview.GraphicsView(gs)
        self.gv = SimpleGraphicsView(gs)
        self.gv.setRenderHint(qg.QPainter.Antialiasing)
#        self.gv.setRenderHint(qg.QPainter.HighQualityAntialiasing,True)
#        self.gv.setRenderHint(qg.QPainter.SmoothPixmapTransform,True)
#        self.gs.setBackgroundBrush(qg.QBrush(qg.QColor.fromRgbF(1,1,1,0.1)))
#        self.gs.setBackgroundBrush(qg.QBrush())

        self.directory_name = qg.QLineEdit()
        self.directory_button = qg.QPushButton('...')
        self.render_button = qg.QPushButton('render')

        layout = qg.QVBoxLayout()
#        layout.addWidget(self.gv)
        layout.addWidget(self.directory_name)
        layout.addWidget(self.directory_button)
        layout.addWidget(self.render_button)

        self.setLayout(layout)
        self.gv.setMinimumSize(*rect_size)
        self.gv.setMaximumSize(*rect_size)

        self.directory_button.clicked.connect(self.select_directory)
        self.render_button.clicked.connect(self.render)

    def render(self):
        path = self.directory_name.text()
        d = popupcad.filetypes.design.Design.load_yaml(path)
        d.reprocessoperations()
        directory, file = os.path.split(path)
        self.raster_design(d, directory)

    def select_directory(self):
        if qt.loaded == 'PySide':
            filename, selectedfilter = qg.QFileDialog.getOpenFileName(self, '', dir=self.directory_name.text(), filter='*.cad')
        else:
            filename = qg.QFileDialog.getOpenFileName(self, '', dir=self.directory_name.text(), filter='*.cad')
        
        print(filename)
        if filename != '':
            self.load_directory(filename)

    def load_directory(self, path):
        self.directory_name.setText(path)

    def clear(self):
        for item in self.gv.scene().items():
            self.gv.scene().removeItem(item)

    def raster_design(self, d, dest, filetype='png'):
        d.raster(destination=dest, filetype=filetype, gv=self.gv)
示例#3
0
    def __init__(self, rect_size):
        super(RenderWidget, self).__init__()

#        gs = popupcad.graphics2d.graphicsscene.GraphicsScene()
        gs = SimpleGraphicsScene()
#        gs = qg.QGraphicsScene()
        gs.setBackgroundBrush(qg.QBrush(qg.QColor.fromRgbF(1, 1, 1, 1)))
#        self.gv = popupcad.graphics2d.graphicsview.GraphicsView(gs)
        self.gv = SimpleGraphicsView(gs)
        self.gv.setRenderHint(qg.QPainter.RenderHint.Antialiasing)
#        self.gv.setRenderHint(qg.QPainter.RenderHint.HighQualityAntialiasing,True)
#        self.gv.setRenderHint(qg.QPainter.RenderHint.SmoothPixmapTransform,True)
#        self.gs.setBackgroundBrush(qg.QBrush(qg.QColor.fromRgbF(1,1,1,0.1)))
#        self.gs.setBackgroundBrush(qg.QBrush())

        self.directory_name = qg.QLineEdit()
        self.directory_button = qg.QPushButton('...')
        self.render_button = qg.QPushButton('render')

        layout = qg.QVBoxLayout()
#        layout.addWidget(self.gv)
        layout.addWidget(self.directory_name)
        layout.addWidget(self.directory_button)
        layout.addWidget(self.render_button)

        self.setLayout(layout)
        self.gv.setMinimumSize(*rect_size)
        self.gv.setMaximumSize(*rect_size)

        self.directory_button.clicked.connect(self.select_directory)
        self.render_button.clicked.connect(self.render)
示例#4
0
class RenderWidget(qg.QWidget):
    def __init__(self, rect_size):
        super(RenderWidget, self).__init__()

        #        gs = popupcad.graphics2d.graphicsscene.GraphicsScene()
        #        gs = qg.QGraphicsScene()
        #        gs.setBackgroundBrush(qg.QBrush(qg.QColor.fromRgbF(1, 1, 1, 1)))
        #        self.gv = popupcad.graphics2d.graphicsview.GraphicsView(gs)
        self.gv = SimpleGraphicsView()
        gs = SimpleGraphicsScene(self.gv)
        self.gv.setScene(gs)
        self.gv.finish_init()

        self.gv.setRenderHint(qg.QPainter.Antialiasing)
        #        self.gv.setRenderHint(qg.QPainter.HighQualityAntialiasing,True)
        #        self.gv.setRenderHint(qg.QPainter.SmoothPixmapTransform,True)
        #        self.gs.setBackgroundBrush(qg.QBrush(qg.QColor.fromRgbF(1,1,1,0.1)))
        #        self.gs.setBackgroundBrush(qg.QBrush())

        self.directory_name = qg.QLineEdit()
        self.directory_button = qg.QPushButton('...')
        self.render_button = qg.QPushButton('render')

        layout = qg.QVBoxLayout()
        #        layout.addWidget(self.gv)
        layout.addWidget(self.directory_name)
        layout.addWidget(self.directory_button)
        layout.addWidget(self.render_button)

        self.setLayout(layout)
        self.gv.setMinimumSize(*rect_size)
        self.gv.setMaximumSize(*rect_size)

        self.directory_button.clicked.connect(self.select_directory)
        self.render_button.clicked.connect(self.render)

    def render(self):
        path = self.directory_name.text()
        d = popupcad.filetypes.design.Design.load_yaml(path)
        d.reprocessoperations()
        directory, file = os.path.split(path)
        self.raster_design(d, directory)

    def select_directory(self):
        if qt.loaded == 'PySide':
            filename, selectedfilter = qg.QFileDialog.getOpenFileName(
                self, '', dir=self.directory_name.text(), filter='*.cad')
        elif qt.loaded == 'PyQt5':
            filename, selectedfilter = qg.QFileDialog.getOpenFileName(
                self, '', dir=self.directory_name.text(), filter='*.cad')
        else:
            filename = qg.QFileDialog.getOpenFileName(
                self, '', dir=self.directory_name.text(), filter='*.cad')

        print(filename)
        if filename != '':
            self.load_directory(filename)

    def load_directory(self, path):
        self.directory_name.setText(path)

    def clear(self):
        for item in self.gv.scene().items():
            self.gv.scene().removeItem(item)

    def raster_design(self, d, dest, filetype='png'):
        d.raster(destination=dest, filetype=filetype, gv=self.gv)