【PyQt4实例9】橡皮筋线

来源:互联网 发布:oracle sql declare 编辑:程序博客网 时间:2024/05/01 20:24

不重复造轮子,继续转载,不过也修改了一些,代码如下:

#-*- coding:utf-8 -*-from PyQt4.QtCore import *from PyQt4.QtGui import *QTextCodec.setCodecForTr(QTextCodec.codecForName("utf-8"))class RubberBand(QMainWindow):    def __init__(self):        super(RubberBand,self).__init__()        self.MainWidet = QWidget()        self.MainWidet.setBackgroundRole(QPalette.Light)        self.setWindowTitle("RubberBand")        self.MainWidet.setAutoFillBackground(True)        self.setCentralWidget(self.MainWidet)        self.resize(600,400)        self.first = True    def mousePressEvent(self,e):        self.origin = e.pos();        if self.first:            self.rubberband = QRubberBand(QRubberBand.Rectangle,self)        self.rubberband.setGeometry(QRect(self.origin,QSize()))        self.rubberband.show()    def mouseMoveEvent(self, e):        self.rubberband.setGeometry(QRect(self.origin,e.pos()).normalized())    def mouseReleaseEvent(self, e):        if self.rubberband:            self.rubberband.hide()if __name__ == '__main__':    import sys    app = QApplication(sys.argv)    mainwindow = RubberBand()    mainwindow.show()    sys.exit(app.exec_())


0 0