作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
背景:我正在尝试使用 python 和 pyqt 制作网格工具。具体来说,我想使用graphicsView/graphicsScene组合来允许用户放置和编辑网格的部分。在这种情况下,网格只是垂直线的集合。
类似的东西:
问题:如何将线条集合组合成单个对象,以便线条集合充当单个对象(即上下文菜单、拖动等)
当前代码:(仅限图形类)
from PyQt4 import QtGui, QtCore
class graphicsView(QtGui.QGraphicsView):
def __init__(self,parent=None):
super(graphicsView, self).__init__(parent)
self.parent=parent
def wheelEvent(self,event):
super(graphicsView, self).wheelEvent(event)
factor = 1.2
if event.delta()<0:
factor = 1.0/factor
self.scale(factor,factor)
class graphicsScene(QtGui.QGraphicsScene):
def __init__(self,parent=None):
super(graphicsScene, self).__init__(parent)
self.meshPen=QtGui.QPen(QtCOre.Qt.blue, 1, QtCore.Qt.SolidLine)
def newGrid(self, xmax,ymax,xcells,ycells,xmin=0,ymin=0):
for i in range(xcells+1):
x=i*(xmax-xmin)/xcells-abs(xmin)
self.addLine(x,ymin,x,ymax,self.meshPen)
for j in range(ycells+1):
y=j*(ymax-ymin)/ycells-abs(ymin)
self.addLine(xmin,y,xmax,y,self.meshPen)
系统:
Python 2.7.2、PyQt4 4.9.5-2、Windows 7
可能的解决方案:(我的随机想法)
最佳答案
另一种方法是 QGraphicsItemGroup :
def newGrid(...):
group = QtGui.QGraphicsItemGroup(scene=self)
group.setFlag(QtGui.QGraphicsItem.ItemIsMovable) #let't test how it works
for i in range(xccells + 1):
...
group.addToGroup(self.addLine(x,ymin,x,ymax,self.meshPen))
...
关于python - PyQt 将graphicsScene 对象分组为一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15811603/
我使用基本方位计算得到了非常不可预测的结果。我需要做的是,当我根据刻度盘的角度绘制这些线条时,这些线条需要均匀地绘制到 View 的中心。现在,我只是得到不稳定的结果,我希望这里有人可以阐明我的问题。
我是一名优秀的程序员,十分优秀!