def __init__(self, *args): super(DimensioningRect, self).__init__(*args) svgRenderer = QtSvg.QSvgRenderer() self.action_ind = 0 self.actions = [ 'selectLine1', 'selectLine2', 'placeDimensionBaseLine', 'placeDimensionText' ] self.dimPreview = QtSvg.QGraphicsSvgItem() self.dimSVGRenderer = QtSvg.QSvgRenderer() self.dimSVGRenderer.load( QtCore.QByteArray('''<svg width="%i" height="%i"></svg>''' % (args[2], args[3]))) self.dimPreview.setSharedRenderer(self.dimSVGRenderer) self.dimPreview.setZValue(100) graphicsScene.addItem(self.dimPreview) self.dim_svg_KWs = dict( #svgTag='svg', #svgParms='width="%i" height="%i"' % (args[2],args[3]), strokeWidth=1.0, arrowL1=10, arrowL2=4, arrowW=6, textRenderer=textRenderer, gap_datum_points=8, dimension_line_overshoot=4, ) self.svg_wrap = XML_SVG_Wrapper(args)
def getPixmapFromSvg(self, svgfile, w=48, h=48): svg_renderer = QtSvg.QSvgRenderer(svgfile) image = QtGui.QImage(w, h, QtGui.QImage.Format_ARGB32) image.fill(0x00000000) svg_renderer.render(QtGui.QPainter(image)) pixmap = QtGui.QPixmap.fromImage(image) return pixmap
def update(self): try: if hasattr( self, 'SVG'): self.remove() drawingVars = self.drawingVars parms = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Drawing_Dimensioning") div_period = parms.GetInt( 'grid_display_period',default_grid_display_period ) lineWidth = parms.GetFloat( 'grid_line_width', default_grid_line_width ) if parms.GetBool('grid_on', False) and div_period > 0 and lineWidth > 0: self.SVG = QtSvg.QGraphicsSvgItem() self.SVGRenderer = QtSvg.QSvgRenderer() dArg ='' div = parms.GetFloat( 'grid_spacing', default_grid_spacing ) clr = unsignedToRGBText(parms.GetUnsigned( 'grid_color', default_grid_clr )) W = drawingVars.width / drawingVars.VRT_scale H = drawingVars.height / drawingVars.VRT_scale for i in range(1, int(W / (div*div_period) )+1): dArg = dArg + ' M %f 0 L %f %f' % (i*div*div_period, i*div*div_period, H) for i in range(1, int(H / (div*div_period) )+1): dArg = dArg + ' M 0 %f L %f %f' % (i*div*div_period, W, i*div*div_period) self.SVGRenderer.load( QtCore.QByteArray( '''<svg width="%i" height="%i"> <path stroke="%srgb(0, 255, 0)" stroke-width="%f" d="%s"/> </svg>''' % (drawingVars.width, drawingVars.height, clr, lineWidth, dArg) ) ) self.SVG.setSharedRenderer( self.SVGRenderer ) self.SVG.setTransform( drawingVars.transform ) self.SVG.setZValue( 0.08 ) #ensure behind dimension preview SVG ... drawingVars.graphicsScene.addItem( self.SVG ) #FreeCAD.Console.PrintMessage('Grid Svg Added to Scene\n') except: FreeCAD.Console.PrintError(traceback.format_exc())
def initUI(self): vbox = QtGui.QVBoxLayout() btn = QtGui.QPushButton('Dialog', self) btn.setSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) btn.move(20, 20) vbox.addWidget(btn) btn.clicked.connect(self.showDialog) self.lbl = QtGui.QLabel('Knowledge only matters', self) self.lbl.move(130, 20) vbox.addWidget(self.lbl) width = 250 height = 180 self.graphicsScene = QtGui.QGraphicsScene(0, 0, width * 0.8, height / 2) self.dimPreview = QtSvg.QGraphicsSvgItem() self.dimSVGRenderer = QtSvg.QSvgRenderer() self.dimSVGRenderer.load( QtCore.QByteArray('''<svg width="%i" height="%i"></svg>''' % (width, height))) self.dimPreview.setSharedRenderer(self.dimSVGRenderer) self.graphicsScene.addItem(self.dimPreview) self.graphicsView = QtGui.QGraphicsView(self.graphicsScene) vbox.addWidget(self.graphicsView) self.setLayout(vbox) self.setGeometry(300, 300, width, height) self.setWindowTitle('Font dialog') self.show()
def mousePressEvent(self, event): if event.button() == QtCore.Qt.MouseButton.LeftButton: pos = event.scenePos() x, y = pos.x(), pos.y() if self.action_ind == 2: #then 'placeDimensionBaseLine': self.point3 = x, y print('point3 set to x=%3.1f y=%3.1f' % (x, y)) self.action_ind = self.action_ind + 1 elif self.action_ind == 3: # then placeDimensionText self.point4 = x, y self.action_ind = 0 XML = angularDimensionSVG(self.line1, self.line2, self.point3[0], self.point3[1], x, y, **self.dim_svg_KWs) if XML != None: print(XML) newSvg = QtSvg.QGraphicsSvgItem() svgRenderer = QtSvg.QSvgRenderer() svgRenderer.load(QtCore.QByteArray(self.svg_wrap(XML))) newSvg.setSharedRenderer(svgRenderer) dimensions.append( [newSvg, svgRenderer] ) #as to prevent the garbage collector from freeing these resources (which causes a crash) self.scene().addItem(newSvg) self.referer1.unlockSelection() self.referer2.unlockSelection()
def __init__(self, path, parent): QtOpenGL.QGLWidget.__init__( self, QtOpenGL.QGLFormat(QtOpenGL.QGL.SampleBuffers)) self.doc = QtSvg.QSvgRenderer(path, self) self.connect(self.doc, QtCore.SIGNAL("repaintNeeded()"), self, QtCore.SLOT("update()"))
def mousePressEvent( self, event ): if event.button() == QtCore.Qt.MouseButton.LeftButton: pos = event.scenePos() x, y = pos.x(), pos.y() if self.action_ind == 0: self.center = x, y print('center set to x=%3.1f y=%3.1f' % (x,y)) self.action_ind = self.action_ind + 1 elif self.action_ind == 1: self.topLeft = x, y print('topLeft set to x=%3.1f y=%3.1f' % (x,y)) self.action_ind = self.action_ind + 1 elif self.action_ind == 2: # then place self.bottomRight = x, y self.action_ind = 0 XML = centerLinesSVG( self.center, self.topLeft, self.bottomRight, **self.dim_svg_KWs ) if XML <> None: print(XML) newSvg = QtSvg.QGraphicsSvgItem( ) svgRenderer = QtSvg.QSvgRenderer() svgRenderer.load( QtCore.QByteArray( XML )) newSvg.setSharedRenderer( svgRenderer ) dimensions.append([ newSvg, svgRenderer]) #as to prevent the garbage collector from freeing these resources (which causes a crash) self.scene().addItem( newSvg )
def __init__(self, path, parent): QtGui.QWidget.__init__(self, parent) self.buffer = QtGui.QImage() self.m_dirty = False self.doc = QtSvg.QSvgRenderer(path, self) self.connect(self.doc, QtCore.SIGNAL("repaintNeeded()"), self.poluteImage)
def __init__(self,*args): super(DimensioningRect, self).__init__(*args) svgRenderer = QtSvg.QSvgRenderer() self.action_ind = 0 self.dimPreview = QtSvg.QGraphicsSvgItem() self.dimSVGRenderer = QtSvg.QSvgRenderer() self.dimSVGRenderer.load( QtCore.QByteArray( '''<svg width="%i" height="%i"></svg>''' % (args[2],args[3]))) self.dimPreview.setSharedRenderer( self.dimSVGRenderer ) self.dimPreview.setZValue(100) graphicsScene.addItem( self.dimPreview ) self.dim_svg_KWs = dict( svgTag='svg', svgParms='width="%i" height="%i"' % (args[2],args[3]), centerLine_width=2.0, centerLine_len_dot=5, centerLine_len_dash=15, centerLine_len_gap=5 ) assert not hasattr(self, 'topLeft') assert not hasattr(self, 'bottomRight') assert not hasattr(self, 'center')
def addOrthoView(XML): o1 = QtSvg.QGraphicsSvgItem() o1Renderer = QtSvg.QSvgRenderer() o1Renderer.load(QtCore.QByteArray(XML)) o1.setSharedRenderer(o1Renderer) graphicsScene.addItem(o1) orthoViews.append([o1, o1Renderer, XML ]) #protect o1 and o1Renderer against garbage collector
def intrinsicSize(self, doc, posInDocument, format): renderer = QtSvg.QSvgRenderer( format.property(Window.SvgData).toByteArray()) size = renderer.defaultSize() if size.height() > 25: size *= 25.0 / size.height() return QtCore.QSizeF(size)
def load_svg(self, str_): xml = QtCore.QXmlStreamReader(str_) svg = QtSvg.QSvgRenderer(xml) w, h = svg.viewBoxF().size().toTuple() s = max((w, h, MIN_LOGICAL_SIZE)) self.contents = QtGui.QPixmap(s, s) painter = QtGui.QPainter(self.contents) painter.fillRect(0, 0, s, s, QtCore.Qt.white) svg.render(painter, QtCore.QRectF((s - w) / 2, (s - h) / 2, w, h)) painter.end()
def __init__(self, *args): super(DimensioningRect, self).__init__(*args) svgRenderer = QtSvg.QSvgRenderer() self.action_ind = 0 self.dimPreview = QtSvg.QGraphicsSvgItem() self.dimSVGRenderer = QtSvg.QSvgRenderer() self.dimSVGRenderer.load( QtCore.QByteArray('''<svg width="%i" height="%i"></svg>''' % (args[2], args[3]))) self.dimPreview.setSharedRenderer(self.dimSVGRenderer) graphicsScene.addItem(self.dimPreview) self.dim_svg_KWs = dict( #svgTag='svg', svgParms='width="%i" height="%i"' % (args[2],args[3]), strokeWidth=1.0, arrowL1=10, arrowL2=4, arrowW=6, textRenderer=textRenderer, centerPointDia=4) self.svg_wrap = XML_SVG_Wrapper(args)
def print_svg(self, svg_source): #logger.info(svg_source) svg_renderer = QtSvg.QSvgRenderer() svg_renderer.load(QtCore.QByteArray(svg_source)) logger.info('svg renderer') printer = QtGui.QPrinter() printer.setPageMargins(50, 250, 50, 250, QtGui.QPrinter.DevicePixel) print_dialog = QtGui.QPrintDialog(printer, self.app.view) print_dialog.setOption(QtGui.QAbstractPrintDialog.PrintToFile, True) print_dialog.setOption(QtGui.QAbstractPrintDialog.PrintPageRange, True) if print_dialog.exec_() == QtGui.QDialog.Accepted: painter = QtGui.QPainter() painter.begin(printer) svg_renderer.render(painter) painter.end()
def getSvgRenderer(self, printer=None): if not SVG: raise RuntimeError("QtSvg module missing. Please compile Qt with SVG support") return if sys.version < '3.0': import cStringIO as StringIO imgData = StringIO.StringIO() else: from io import BytesIO imgData = BytesIO() self.saveGraph(imgData, fileFormat='svg') imgData.flush() imgData.seek(0) svgRawData = imgData.read() svgRendererData = QtCore.QXmlStreamReader(svgRawData) svgRenderer = QtSvg.QSvgRenderer(svgRendererData) svgRenderer._svgRawData = svgRawData svgRenderer._svgRendererData = svgRendererData return svgRenderer
def buildImages(self): paths = glob.glob(os.path.join(os.path.dirname(self.metaImageset.filePath), self.path)) images = [] for path in paths: pathSplit = path.rsplit(".", 1) name = os.path.basename(pathSplit[0]) svgRenderer = QtSvg.QSvgRenderer(path) qimage = QtGui.QImage(svgRenderer.defaultSize().width(), svgRenderer.defaultSize().height(), QtGui.QImage.Format_ARGB32) qimage.fill(0) painter = QtGui.QPainter() painter.begin(qimage) svgRenderer.render(painter) painter.end() image = inputs.Image(name, qimage, self.xOffset, self.yOffset) images.append(image) return images
def prepareImage(self): # vytvoření instance třídy QImage self.image = QtGui.QImage(MainWindow.IMAGE_WIDTH, MainWindow.IMAGE_HEIGHT, QtGui.QImage.Format_RGB32) # vytvoření objektu typu QPainter s předáním # reference na "pokreslovaný" objekt qp = QtGui.QPainter(self.image) # nastavení barvy kreslení qp.setPen(QtGui.QColor(64, 255, 64)) # vykreslení úsečky qp.drawLine(10, 10, MainWindow.IMAGE_WIDTH - 10, MainWindow.IMAGE_HEIGHT - 10) renderer = QtSvg.QSvgRenderer("logo.svg") renderer.render(qp) # vytvoření instance třídy QPixmap z objektu QImage self.pixmap = QtGui.QPixmap.fromImage(self.image)
def __init__(self, ico_name, px=512, scale=1.0, color=None): super(Ico, self).__init__() if exists(ico_name): self.path = ico_name else: global ICO_PATH if ICO_PATH is None: ICO_PATH = join(a2core.A2Obj.inst().paths.a2, 'ui', 'res', '%s.svg') self.path = ICO_PATH % ico_name if not exists(self.path): log.error('SVG_icon: could not find path to "%s"!' % ico_name) return renderer = QtSvg.QSvgRenderer(self.path) image = QtGui.QImage(QtCore.QSize(px, px), QtGui.QImage.Format_ARGB32) painter = QtGui.QPainter(image) if scale != 1.0: t = (px / 2) * (1 - scale) painter.translate(t, t) painter.scale(scale, scale) renderer.render(painter) if color: if isinstance(color, (int, float)): color = [int(color)] * 3 if isinstance(color, (tuple, list)): color = QtGui.QColor(color[0], color[1], color[2]) if isinstance(color, QtGui.QColor): painter.setCompositionMode( QtGui.QPainter.CompositionMode_SourceIn) painter.fillRect(image.rect(), color) else: log.error('Cannot use color: "%s"' % str(color)) pixmap = QtGui.QPixmap.fromImage(image) self.addPixmap(pixmap) painter.end()
def requestImage(self, id, size, requestedSize): print 'requestImage:', { 'id': id, 'size': size, 'requestedSize': requestedSize } img_path = '../media/{}.svg'.format(id) renderer = QtSvg.QSvgRenderer(img_path) print renderer.defaultSize() if requestedSize.width() == -1 or requestedSize.height() == -1: s = renderer.defaultSize() else: s = requestedSize ds = renderer.defaultSize() rel = float(ds.width()) / ds.height() s.setWidth(s.height() * rel) print s img = QtGui.QImage(s, QtGui.QImage.Format_ARGB32_Premultiplied) img.fill(0) renderer.render(QtGui.QPainter(img)) return img
def IconFromSVG(iconPath): with open(iconPath, 'r') as iconFile: iconText = iconFile.read() for key in ApplicationColors.keys(): iconText = iconText.replace(key, ApplicationColors[key]) iconStream = QtCore.QXmlStreamReader(iconText) svg_renderer = QtSvg.QSvgRenderer(iconStream) iconWidth = int( float( iconText.split('<svg', 1)[1].split('width="', 1)[1].split('"', 1)[0])) iconHeight = int( float( iconText.split('<svg', 1)[1].split('height="', 1)[1].split('"', 1)[0])) image = QtGui.QImage(iconWidth, iconHeight, QtGui.QImage.Format_ARGB32) image.fill(0x00000000) svg_renderer.render(QtGui.QPainter(image)) pixmap = QtGui.QPixmap.fromImage(image) icon = QtGui.QIcon(pixmap) icon.actualSize(QtCore.QSize(64, 64)) return icon
def mousePressEvent(self, event): if self.action_ind == 0: return if event.button() == QtCore.Qt.MouseButton.LeftButton: #print( 'current action: %s' % self.actions[self.action_ind] ) pos = event.scenePos() x, y = pos.x(), pos.y() if self.action_ind == 1: self.point2 = x, y print('point2 set to x=%3.1f y=%3.1f' % (x, y)) self.action_ind = self.action_ind + 1 elif self.action_ind == 2: self.point3 = x, y print('point3 set to x=%3.1f y=%3.1f' % (x, y)) self.action_ind = self.action_ind + 1 else: #'placeDimensionText' self.point4 = x, y XML = circularDimensionSVG(self.point1[0], self.point1[1], self.radius, self.point2[0], self.point2[1], self.point3[0], self.point3[1], x, y, **self.dim_svg_KWs) self.action_ind = 0 self.radius = self.radius * 2 if XML != None: print(XML) newSvg = QtSvg.QGraphicsSvgItem() svgRenderer = QtSvg.QSvgRenderer() svgRenderer.load(QtCore.QByteArray(self.svg_wrap(XML))) newSvg.setSharedRenderer(svgRenderer) dimensions.append( [newSvg, svgRenderer] ) #as to prevent the garbage collector from freeing these resources (which causes a crash) self.scene().addItem(newSvg) elif event.button() == QtCore.Qt.MouseButton.RightButton: self.action_ind = self.action_ind - 1
def load(self, images, positionedImages={}): self._scene.clear() self._pixmaps = {} from PySide import QtSvg standardPixmapsvg = QtSvg.QSvgRenderer(self) standardPixmapsvg.setViewBox(QtCore.QRect(0, 0, self._width, self._height)) standardPixmapsvg.load("/usr/share/icons/gnome-human/scalable/status/image-loading.svg") self.standardPixmap = QtGui.QPixmap(self._width, self._height) painter = QtGui.QPainter(self.standardPixmap) painter.fillRect(QtCore.QRect(0,0,self._width,self._height), QtGui.QBrush(self.palette().color(self.backgroundRole()))) standardPixmapsvg.render(painter) imagesToLoad = images if positionedImages: imagesToLoad = positionedImages.keys() maxX = maxY = minX = minY = 0 total = len(imagesToLoad) current = 0 row = 0 for path in images: dirname = os.path.dirname(path) basename = os.path.basename(path) if os.path.isdir(path) or os.path.basename(path).startswith('.'): continue cachePath = os.path.join(dirname, ".thumbnails/"+basename) if os.path.exists( cachePath ) and os.stat(cachePath).st_mtime > os.stat(path): print 'cache hit' imagePath = cachePath current += 1 item = QdGraphicsPixmapItem(path, QtCore.QSize(self._width, self._height)) if positionedImages and path in positionedImages: x, y = positionedImages[path] else: modresult = current % self.imagesPerRow() y = self._height * row padding = 5 if modresult == 0: row += 1 x = padding else: x = padding + modresult*(self._width + padding) minX = min(minX, x) minY = min(minY, y) maxX = max(maxX, x) maxY = max(maxY, y) item.setPos(x, y) item.setPixmap(self.standardPixmap) self._pixmaps[path] = item self._scene.addItem(item) self._progressTotal = current self._progressCurrent = 0 paths = self._pixmaps.keys() paths.sort() # load in background thread(s) self._loader.load(paths) self.setScene(self._scene)
def __init__(self, path, parent): QtGui.QWidget.__init__(self, parent) self.doc = QtSvg.QSvgRenderer(path, self) self.connect(self.doc, QtCore.SIGNAL("repaintNeeded()"), self, QtCore.SLOT("update()"))
def drawCustomWidget(self, painter): renderer = QtSvg.QSvgRenderer() renderer.load(self.colors[self.color]) renderer.render(painter)
def drawObject(self, painter, rect, doc, posInDocument, format): renderer = QtSvg.QSvgRenderer( format.property(Window.SvgData).toByteArray()) renderer.render(painter, rect)
def initUI(self): """ Initializes graphical elements of Terminal. Including... * Toolbar * :class:`.gui.Control_Panel` * :class:`.plots.Plot_Widget` """ # set central widget self.widget = QtGui.QWidget() self.setCentralWidget(self.widget) # Start GUI self.layout = QtGui.QGridLayout() self.layout.setSpacing(0) self.layout.setContentsMargins(0, 0, 0, 0) self.widget.setLayout(self.layout) self.setWindowTitle('Terminal') #self.menuBar().setFixedHeight(40) # Main panel layout #self.panel_layout.setContentsMargins(0,0,0,0) # Init toolbar # File menu # make menu take up 1/10 of the screen winsize = app.desktop().availableGeometry() bar_height = (winsize.height() / 25) + 5 self.menuBar().setFixedHeight(bar_height) #self.menuBar().setStyleSheet('QMenuBar:item { }') self.file_menu = self.menuBar().addMenu("&File") self.file_menu.setObjectName("file") new_pilot_act = QtGui.QAction("New &Pilot", self, triggered=self.new_pilot) new_prot_act = QtGui.QAction("New Pro&tocol", self, triggered=self.new_protocol) #batch_create_subjects = QtGui.QAction("Batch &Create subjects", self, triggered=self.batch_subjects) # TODO: Update pis self.file_menu.addAction(new_pilot_act) self.file_menu.addAction(new_prot_act) #self.file_menu.addAction(batch_create_subjects) # Tools menu self.tool_menu = self.menuBar().addMenu("&Tools") subject_weights_act = QtGui.QAction("View Subject &Weights", self, triggered=self.subject_weights) update_protocol_act = QtGui.QAction("Update Protocols", self, triggered=self.update_protocols) reassign_act = QtGui.QAction("Batch Reassign Protocols", self, triggered=self.reassign_protocols) calibrate_act = QtGui.QAction("Calibrate &Water Ports", self, triggered=self.calibrate_ports) self.tool_menu.addAction(subject_weights_act) self.tool_menu.addAction(update_protocol_act) self.tool_menu.addAction(reassign_act) self.tool_menu.addAction(calibrate_act) # Tests menu self.tests_menu = self.menuBar().addMenu("Test&s") bandwidth_test_act = QtGui.QAction("Test Bandwidth", self, triggered=self.test_bandwidth) self.tests_menu.addAction(bandwidth_test_act) ## Init main panels and add to layout # Control panel sits on the left, controls pilots & subjects self.control_panel = Control_Panel(pilots=self.pilots, subjects=self.subjects, start_fn=self.toggle_start) # Data panel sits on the right, plots stuff. self.data_panel = Plot_Widget() self.data_panel.init_plots(self.pilots.keys()) # Logo goes up top # https://stackoverflow.com/questions/25671275/pyside-how-to-set-an-svg-icon-in-qtreewidgets-item-and-change-the-size-of-the pixmap_path = os.path.join(os.path.dirname(prefs.REPODIR), 'graphics', 'autopilot_logo_small.svg') #svg_renderer = QtSvg.QSvgRenderer(pixmap_path) #image = QtGui.QImage() #self.logo = QtSvg.QSvgWidget() # set size, preserving aspect ratio logo_height = round(44.0 * ((bar_height - 5) / 44.0)) logo_width = round(139 * ((bar_height - 5) / 44.0)) svg_renderer = QtSvg.QSvgRenderer(pixmap_path) image = QtGui.QImage(logo_width, logo_height, QtGui.QImage.Format_ARGB32) # Set the ARGB to 0 to prevent rendering artifacts image.fill(0x00000000) svg_renderer.render(QtGui.QPainter(image)) pixmap = QtGui.QPixmap.fromImage(image) self.logo = QtGui.QLabel() self.logo.setPixmap(pixmap) self.menuBar().setCornerWidget(self.logo, QtCore.Qt.TopRightCorner) self.menuBar().adjustSize() #self.logo.load(pixmap_path) # Combine all in main layout #self.layout.addWidget(self.logo, 0,0,1,2) self.layout.addWidget(self.control_panel, 0, 0, 1, 1) self.layout.addWidget(self.data_panel, 0, 1, 1, 1) self.layout.setColumnStretch(0, 1) self.layout.setColumnStretch(1, 3) # Set size of window to be fullscreen without maximization # Until a better solution is found, if not set large enough, the pilot tabs will # expand into infinity. See the Expandable_Tabs class #pdb.set_trace() screensize = app.desktop().screenGeometry() winsize = app.desktop().availableGeometry() # want to subtract bounding title box, our title bar, and logo height. # our y offset will be the size of the bounding title box # Then our tilebar # multiply by three to get the inner (file, etc.) bar, the top bar (min, maximize, etc) # and then the very top system tray bar in ubuntu #titleBarHeight = self.style().pixelMetric(QtGui.QStyle.PM_TitleBarHeight, # QtGui.QStyleOptionTitleBar(), self) * 3 title_bar_height = screensize.height() - winsize.height() #titleBarHeight = bar_height*2 # finally our logo logo_height = bar_height winheight = winsize.height( ) - title_bar_height - logo_height # also subtract logo height winsize.setHeight(winheight) self.max_height = winheight self.setGeometry(winsize) self.setSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Maximum) # Set heights on control panel and data panel # move to primary display and show maximized primary_display = app.desktop().availableGeometry(0) self.move(primary_display.left(), primary_display.top()) # self.resize(primary_display.width(), primary_display.height()) # self.control_panel.setMaximumHeight(winheight) self.data_panel.setMaximumHeight(winheight) # set stylesheet for main window self.setStyleSheet(styles.TERMINAL) # set fonts to antialias self.setFont(self.font().setStyleStrategy(QtGui.QFont.PreferAntialias)) self.show() logging.info('UI Initialized')