當前位置: 首頁>>代碼示例>>Python>>正文


Python QRectF.moveLeft方法代碼示例

本文整理匯總了Python中qwt.qt.QtCore.QRectF.moveLeft方法的典型用法代碼示例。如果您正苦於以下問題:Python QRectF.moveLeft方法的具體用法?Python QRectF.moveLeft怎麽用?Python QRectF.moveLeft使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在qwt.qt.QtCore.QRectF的用法示例。


在下文中一共展示了QRectF.moveLeft方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: render

# 需要導入模塊: from qwt.qt.QtCore import QRectF [as 別名]
# 或者: from qwt.qt.QtCore.QRectF import moveLeft [as 別名]

#.........這裏部分代碼省略.........
         :param QRectF rect: Rectangle for the scaled graphic
         :param Qt.AspectRatioMode aspectRatioMode: Mode how to scale        
     
     .. py:method:: render(painter, pos, aspectRatioMode)
     
         Replay all recorded painter commands
         
         The graphic is scaled to the :py:meth:`defaultSize()` and aligned
         to a position.
         
         :param QPainter painter: Qt painter
         :param QPointF pos: Reference point, where to render
         :param Qt.AspectRatioMode aspectRatioMode: Mode how to scale        
     """
     if len(args) == 1:
         painter, = args
         if self.isNull():
             return
         transform = painter.transform()
         painter.save()
         for command in self.__data.commands:
             qwtExecCommand(painter, command, self.__data.renderHints,
                            transform, self.__data.initialTransform)
         painter.restore()
     elif len(args) in (2, 3) and isinstance(args[1], QSizeF):
         painter, size = args[:2]
         aspectRatioMode = Qt.IgnoreAspectRatio
         if len(args) == 3:
             aspectRatioMode = args[-1]
         r = QRectF(0., 0., size.width(), size.height())
         self.render(painter, r, aspectRatioMode)
     elif len(args) in (2, 3) and isinstance(args[1], QRectF):
         painter, rect = args[:2]
         aspectRatioMode = Qt.IgnoreAspectRatio
         if len(args) == 3:
             aspectRatioMode = args[-1]
         if self.isEmpty() or rect.isEmpty():
             return
         sx = 1.
         sy = 1.
         if self.__data.pointRect.width() > 0.:
             sx = rect.width()/self.__data.pointRect.width()
         if self.__data.pointRect.height() > 0.:
             sy = rect.height()/self.__data.pointRect.height()
         scalePens = not bool(self.__data.renderHints & self.RenderPensUnscaled)
         for info in self.__data.pathInfos:
             ssx = info.scaleFactorX(self.__data.pointRect, rect, scalePens)
             if ssx > 0.:
                 sx = min([sx, ssx])
             ssy = info.scaleFactorY(self.__data.pointRect, rect, scalePens)
             if ssy > 0.:
                 sy = min([sy, ssy])
         if aspectRatioMode == Qt.KeepAspectRatio:
             s = min([sx, sy])
             sx = s
             sy = s
         elif aspectRatioMode == Qt.KeepAspectRatioByExpanding:
             s = max([sx, sy])
             sx = s
             sy = s
         tr = QTransform()
         tr.translate(rect.center().x()-.5*sx*self.__data.pointRect.width(),
                      rect.center().y()-.5*sy*self.__data.pointRect.height())
         tr.scale(sx, sy)
         tr.translate(-self.__data.pointRect.x(),
                      -self.__data.pointRect.y())
         transform = painter.transform()
         if not scalePens and transform.isScaling():
             #  we don't want to scale pens according to sx/sy,
             #  but we want to apply the scaling from the 
             #  painter transformation later
             self.__data.initialTransform = QTransform()
             self.__data.initialTransform.scale(transform.m11(),
                                                transform.m22())
         painter.setTransform(tr, True)
         self.render(painter)
         painter.setTransform(transform)
         self.__data.initialTransform = None
     elif len(args) in (2, 3) and isinstance(args[1], QPointF):
         painter, pos = args[:2]
         alignment = Qt.AlignTop|Qt.AlignLeft
         if len(args) == 3:
             alignment = args[-1]
         r = QRectF(pos, self.defaultSize())
         if alignment & Qt.AlignLeft:
             r.moveLeft(pos.x())
         elif alignment & Qt.AlignHCenter:
             r.moveCenter(QPointF(pos.x(), r.center().y()))
         elif alignment & Qt.AlignRight:
             r.moveRight(pos.x())
         if alignment & Qt.AlignTop:
             r.moveTop(pos.y())
         elif alignment & Qt.AlignVCenter:
             r.moveCenter(QPointF(r.center().x(), pos.y()))
         elif alignment & Qt.AlignBottom:
             r.moveBottom(pos.y())
         self.render(painter, r)
     else:
         raise TypeError("%s().render() takes 1, 2 or 3 argument(s) (%s "\
                         "given)" % (self.__class__.__name__, len(args)))
開發者ID:berrosse,項目名稱:PythonQwt,代碼行數:104,代碼來源:graphic.py


注:本文中的qwt.qt.QtCore.QRectF.moveLeft方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。