首先声明,如果转载请声明作者以及来源
第三十六例子 橡皮筋线
__author__ = '375159507' try: from PySide import QtCore from PySide import QtGui except ImportError: from PyQt4 import QtGui from PyQt4 import GtCore class RubberBand(QtGui.QMainWindow): def __init__(self): super(RubberBand,self).__init__() self.MainWidet = QtGui.QWidget() self.MainWidet.setBackgroundRole(QtGui.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 = QtGui.QRubberBand(QtGui.QRubberBand.Rectangle,self) self.rubberband.setGeometry(QtCore.QRect(self.origin,QtCore.QSize())) self.rubberband.show() def mouseMoveEvent(self, e): self.rubberband.setGeometry(QtCore.QRect(self.origin,e.pos()).normalized()) def mouseReleaseEvent(self, e): if self.rubberband: self.rubberband.hide() if __name__ == '__main__': import sys app = QtGui.QApplication(sys.argv) mainwindow = RubberBand() mainwindow.show() sys.exit(app.exec_())
程序效果图