我必须制作类似iOS界面,可以拖动以改变其位置的3x3图标字段,然后在XML文件中记住它.
我决定使用Grid类(QWidget是父)作为容器和我自己的类,继承自QWidget,作为元素.
现在我正在尝试学习如何为QWidget执行拖放操作,但看起来你只能放到QWidget上,但是无法拖动它.
这不可能吗?我该怎么搬这个东西?
我是Python的新手.我用固定坐标绘制了多边形和圆形.现在我想用鼠标移动这个多边形和圆圈到窗口上的其他位置.请指导我该怎么办?
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
class MyFrame(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self)
def paintEvent(self, event=None):
paint=QPainter(self)
paint.setPen(QPen(QColor(Qt.green).dark(150),1,Qt.SolidLine))
segColor=QColor(Qt.green).dark(150)
paint.setBrush(segColor)
paint.setBrushOrigin(QPoint(225,225))
polygon=QPolygon([QPoint(250,175), QPoint(265,175), QPoint(250,190), QPoint(265,190),QPoint(250,175)])
paint.drawPolygon(polygon)
paint.setPen(QPen(QColor(Qt.red),1,Qt.SolidLine))
paint.setBrush(QBrush(Qt.NoBrush))
polygon1=QPolygon([QPoint(250,300), QPoint(250,500), QPoint(350,500), QPoint(350,300)])
paint.drawPolyline(polygon1)
paint.drawEllipse(50,50,50,50)
app=QApplication(sys.argv)
f=MyFrame()
f.show()
app.exec_()
Run Code Online (Sandbox Code Playgroud)