zoomWidget.py 652 B

123456789101112131415161718192021
  1. from PyQt4.QtGui import *
  2. from PyQt4.QtCore import *
  3. class ZoomWidget(QSpinBox):
  4. def __init__(self, value=100):
  5. super(ZoomWidget, self).__init__()
  6. self.setButtonSymbols(QAbstractSpinBox.NoButtons)
  7. self.setRange(1, 500)
  8. self.setSuffix(' %')
  9. self.setValue(value)
  10. self.setToolTip(u'Zoom Level')
  11. self.setStatusTip(self.toolTip())
  12. self.setAlignment(Qt.AlignCenter)
  13. def minimumSizeHint(self):
  14. height = super(ZoomWidget, self).minimumSizeHint().height()
  15. fm = QFontMetrics(self.font())
  16. width = fm.width(str(self.maximum()))
  17. return QSize(width, height)