import sys
from PyQt4 import QtCore,QtGui
class paintArea(QtGui.QWidget):
def __init__(self):
super(paintArea, self).__init__()
self.setMinimumWidth(500)
self.setMinimumHeight(500)
self.offscreen = QtGui.QPixmap(1000,1000)
painter = QtGui.QPainter()
painter.begin(self.offscreen)
painter.setPen(QtCore.Qt.yellow)
for i in range(10):
painter.drawLine(10,i*10,100,i*10)
painter.end()
def paintEvent(self,e):
painter = QtGui.QPainter()
painter.begin(self)
painter.drawPixmap(0,0,self.offscreen)
painter.end()
class scrollArea(QtGui.QWidget):
def __init__(self):
super(scrollArea, self).__init__()
self.scrollArea = QtGui.QScrollArea(self)
self.scrollArea.setVerticalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOn )
self.scrollArea.setWidgetResizable(False)
self.paintArea = paintArea()
self.scrollArea.setWidget(self.paintArea)
self.layout = QtGui.QVBoxLayout(self)
self.layout.addWidget(self.scrollArea)
def main():
app = QtGui.QApplication(sys.argv)
ex = scrollArea()
ex.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()