zoomWidget.py 850 B

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