def __init__(self,parent,attached=False): cp=QLineEdit(parent) tel=QLineEdit(parent) tipo=QSpinBox(parent) tipo.setMaximum(2) tipo.setMinimum(0) tipo.setButtonSymbols(2) #cp.setInputMask("#####") tel.setInputMask("(###)-###-##-##") cp.setAlignment(QtCore.Qt.AlignCenter) tipo.setAlignment(QtCore.Qt.AlignCenter) tel.setAlignment(QtCore.Qt.AlignCenter) Admin1.__init__(self,parent,'clientes', [['id','Id:','str',None,False], ['nombre','Nombre:','str',None,True], ['rfc','RFC:','str',None,True], ['direccion','Direccion:','str',None,True], ['poblacion','Poblacion:','str',None,True], ['estado','Estado:','str',None,True], ['tel','Telefono:','str',tel,True], ['correo','E-mail:','str',cp,True], ['tipo','Tipo:','hide',0,True], ['credito','Limite de credito:','double',None,True]], info="",logo=":/modulos/images/png/elegant/clientes.png",ide=-1,ancla=True,cond=" WHERE tipo=0 order by nombre" ) self.ui=parent self.ui.connect(self.ui.tClientes, QtCore.SIGNAL("clicked()"), self.iniciar) self.ui.connect(self.ui.verClientes, QtCore.SIGNAL("triggered()"), self.iniciar) self.anclar(attached)
class SpinBoxImageView(QHBoxLayout): valueChanged = pyqtSignal(int) def __init__(self, parentView, backgroundColor, foregroundColor, value, height, fontSize): QHBoxLayout.__init__(self) self.backgroundColor = backgroundColor self.foregroundColor = foregroundColor self.labelLayout = QVBoxLayout() self.upLabel = LabelButtons('spin-up', parentView, backgroundColor, foregroundColor, height/2, height/2) self.labelLayout.addWidget(self.upLabel) self.upLabel.clicked.connect(self.on_upLabel) self.downLabel = LabelButtons('spin-down', parentView, backgroundColor, foregroundColor, height/2, height/2) self.labelLayout.addWidget(self.downLabel) self.downLabel.clicked.connect(self.on_downLabel) self.addLayout(self.labelLayout) self.spinBox = QSpinBox() self.spinBox.valueChanged.connect(self.spinBoxValueChanged) self.addWidget(self.spinBox) self.spinBox.setToolTip("Spinbox") self.spinBox.setButtonSymbols(QAbstractSpinBox.NoButtons) self.spinBox.setAlignment(Qt.AlignRight) self.spinBox.setMaximum(value) self.spinBox.setMaximumHeight(height) self.spinBox.setSuffix("/" + str(value)) font = self.spinBox.font() font.setPixelSize(fontSize) self.spinBox.setFont(font) self.do_draw() def do_draw(self): r, g, b, a = self.foregroundColor.getRgb() rgb = "rgb({0},{1},{2})".format(r, g, b) sheet = TEMPLATE.format(rgb, self.backgroundColor.name()) self.spinBox.setStyleSheet(sheet) def spinBoxValueChanged(self, value): self.valueChanged.emit(value) def setValue(self, value): self.spinBox.setValue(value) def setNewValue(self, value): self.spinBox.setMaximum(value) self.spinBox.setSuffix("/" + str(value)) def on_upLabel(self): self.spinBox.setValue(self.spinBox.value() + 1) def on_downLabel(self): self.spinBox.setValue(self.spinBox.value() - 1)
class SpinBoxImageView(QHBoxLayout): valueChanged = pyqtSignal(int) def __init__(self, backgroundColor, foregroundColor, value, height, fontSize): QHBoxLayout.__init__(self) self.backgroundColor = backgroundColor self.foregroundColor = foregroundColor self.labelLayout = QVBoxLayout() self.upLabel = LabelButtons(backgroundColor, foregroundColor, height/2, height/2) self.labelLayout.addWidget(self.upLabel) self.upLabel.setSpinBoxUpIcon() self.upLabel.clicked.connect(self.on_upLabel) self.downLabel = LabelButtons(backgroundColor, foregroundColor, height/2, height/2) self.labelLayout.addWidget(self.downLabel) self.downLabel.setSpinBoxDownIcon() self.downLabel.clicked.connect(self.on_downLabel) self.addLayout(self.labelLayout) self.spinBox = QSpinBox() self.spinBox.valueChanged.connect(self.spinBoxValueChanged) self.addWidget(self.spinBox) self.spinBox.setToolTip("Spinbox") self.spinBox.setButtonSymbols(QAbstractSpinBox.NoButtons) self.spinBox.setAlignment(Qt.AlignRight) self.spinBox.setMaximum(value) self.spinBox.setMaximumHeight(height) self.spinBox.setSuffix("/" + str(value)) font = self.spinBox.font() font.setPixelSize(fontSize) self.spinBox.setFont(font) rgb = foregroundColor.getRgb() rgba_string = "rgba("+str(rgb[0])+","+str(rgb[1])+","+str(rgb[2])+","+str(0.6*100)+"%)" self.spinBox.setStyleSheet("QSpinBox { color: " + rgba_string + "; font: bold; background-color: " + str(backgroundColor.name()) + "; border:0;}") def changeOpacity(self, opacity): rgb = self.foregroundColor.getRgb() rgba_string = "rgba("+str(rgb[0])+","+str(rgb[1])+","+str(rgb[2])+","+str(opacity*100)+"%)" self.spinBox.setStyleSheet("QSpinBox { color: " + rgba_string + "; font: bold; background-color: " + str(self.backgroundColor.name()) + "; border:0;}") self.upLabel.changeOpacity(opacity) self.downLabel.changeOpacity(opacity) def spinBoxValueChanged(self, value): self.valueChanged.emit(value) def setValue(self, value): self.spinBox.setValue(value) def setNewValue(self, value): self.spinBox.setMaximum(value) self.spinBox.setSuffix("/" + str(value)) def on_upLabel(self): self.spinBox.setValue(self.spinBox.value() + 1) def on_downLabel(self): self.spinBox.setValue(self.spinBox.value() - 1)
def addSpinBox(self, name): sb = QSpinBox(self) sb.setEnabled(True) sb.setMinimumSize(QSize(60, 20)) sb.setMaximumSize(QSize(60, 20)) sb.setWrapping(False) sb.setFrame(True) sb.setButtonSymbols(QSpinBox.NoButtons) sb.setAccelerated(True) sb.setCorrectionMode(QSpinBox.CorrectToPreviousValue) sb.setKeyboardTracking(True) sb.setMinimum(0) sb.setMaximum(99999999) sb.setSingleStep(1000) sb.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) sb.setProperty("value", 0) sb.setObjectName(name) return sb
def addSpinBox(self, name): sb = QSpinBox(self) sb.setEnabled(True) sb.setMinimumSize(QSize(60, 20)) sb.setMaximumSize(QSize(60, 20)) sb.setWrapping(False) sb.setFrame(True) sb.setButtonSymbols(QSpinBox.NoButtons) sb.setAccelerated(True) sb.setCorrectionMode(QSpinBox.CorrectToPreviousValue) sb.setKeyboardTracking(True) sb.setMinimum(0) sb.setMaximum(99999999) sb.setSingleStep(1000) sb.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) sb.setProperty("value", 0) sb.setObjectName(name) return sb
def _get_pos_widget(name, backgroundColor, foregroundColor): label = QLabel() label.setAttribute(Qt.WA_TransparentForMouseEvents, True) pixmap = QPixmap(25*10, 25*10) pixmap.fill(backgroundColor) painter = QPainter() painter.begin(pixmap) pen = QPen(foregroundColor) painter.setPen(pen) painter.setRenderHint(QPainter.Antialiasing) font = QFont() font.setBold(True) font.setPixelSize(25*10-30) path = QPainterPath() path.addText(QPointF(50, 25*10-50), font, name) brush = QBrush(foregroundColor) painter.setBrush(brush) painter.drawPath(path) painter.setFont(font) painter.end() pixmap = pixmap.scaled(QSize(20,20), Qt.KeepAspectRatio, Qt.SmoothTransformation) label.setPixmap(pixmap) spinbox = QSpinBox() spinbox.setAttribute(Qt.WA_TransparentForMouseEvents, True) spinbox.setEnabled(False) spinbox.setAlignment(Qt.AlignCenter) spinbox.setToolTip("{0} Spin Box".format(name)) spinbox.setButtonSymbols(QAbstractSpinBox.NoButtons) spinbox.setMaximumHeight(20) spinbox.setMaximum(9999) font = spinbox.font() font.setPixelSize(14) spinbox.setFont(font) sheet = TEMPLATE.format(foregroundColor.name(), backgroundColor.name()) spinbox.setStyleSheet(sheet) return label, spinbox
def __init__(self, parent, attached=False): cp = QLineEdit(parent) tel = QLineEdit(parent) tipo = QSpinBox(parent) tipo.setMaximum(2) tipo.setMinimum(0) tipo.setButtonSymbols(2) cp.setInputMask("#####") tel.setInputMask("(###)-###-##-##") cp.setAlignment(QtCore.Qt.AlignCenter) tipo.setAlignment(QtCore.Qt.AlignCenter) tel.setAlignment(QtCore.Qt.AlignCenter) Admin1.__init__( self, parent, "clientes,proveedores", [ ["id", "Id:", "str", None, False], ["nombre", "Nombre:", "str", None, True], ["rfc", "RFC:", "str", None, True], ["direccion", "Direccion:", "str", None, True], ["poblacion", "Poblacion:", "str", None, True], ["estado", "Estado:", "str", None, True], ["tel", "Telefono:", "str", tel, True], ["correo", "E-Mail:", "str", None, True], ["tipo", "Tipo:", "hide", 1, True], ["credito", "Limite de credito:", "double", None, True], ], info="", logo=":/modulos/images/png/elegant/proveedores.png", ide=-1, ancla=True, cond=" WHERE tipo=1 ", ) self.ui = parent self.ui.connect(self.ui.actionProveedores, QtCore.SIGNAL("triggered()"), self.iniciar) self.ui.connect(self.ui.tProveedores, QtCore.SIGNAL("clicked()"), self.iniciar) self.anclar(attached)
def __init__(self, parent, attached=False): # ip=QLineEdit(parent) tipo = QSpinBox(parent) tipo.setMaximum(2) tipo.setMinimum(0) tipo.setButtonSymbols(2) # ip.setInputMask("000.000.000.000") tipo.setAlignment(QtCore.Qt.AlignCenter) # ip.setAlignment(QtCore.Qt.AlignRight) info = "Las ventas son distribuidas en cajas, asi que debe existir una caja por menos." icono = ":/actions/images/actions/color_18/monitor.png" Admin1.__init__( self, parent, "cajas", [ ["num_caja", "Id:", "str", None, False], ["nombre", "Nombre:", "str", None, True], ["maquina", "Direccion IP (Opcional):", "str", None, True], ["saldo_inicial", "Saldo inicial:", "double", None, True], ["estado", "Ultima apertura :", "date", None, True], ["efectivo", "Efectivo:", "double", None, True], ], info, icono, -1, True, ) self.ui = parent action = self.ui.menuObjetos.addAction(QIcon(icono), "Cajas") action.setIconVisibleInMenu(True) # self.ui.menuObjetos.addAction() self.ui.connect(action, QtCore.SIGNAL("triggered()"), self.iniciar) self.ui.connect(parent.tCajas, QtCore.SIGNAL("clicked()"), self.iniciar) # self.iniciar() # self.ui.stack.addWidget(self) # self.num=self.ui.stack.count()-1 self.anclar(attached)
class XTimeDeltaEdit(QFrame): def __init__(self, parent=None): super(XTimeDeltaEdit, self).__init__(parent) # define custom properties self.setStyleSheet(COMBO_STYLE) self._numberSpinner = QSpinBox(self) self._numberSpinner.setRange(0, 100000) self._numberSpinner.setFrame(False) self._numberSpinner.setButtonSymbols(QSpinBox.NoButtons) self._numberSpinner.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self._unitCombo = QComboBox(self) self._unitCombo.setEditable(True) self._unitCombo.setInsertPolicy(QComboBox.NoInsert) self._unitCombo.setFrame(False) self._unitCombo.addItems(['year(s)', 'month(s)', 'week(s)', 'day(s)', 'hour(s)', 'minute(s)', 'second(s)']) self._unitCombo.setCurrentIndex(3) self._unitCombo.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self._directionCombo = QComboBox(self) self._directionCombo.addItems(['ago', 'from now']) self._directionCombo.setEditable(True) self._directionCombo.setInsertPolicy(QComboBox.NoInsert) self._directionCombo.setFrame(False) self._directionCombo.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) # setup ui self.setFrameShape(QFrame.StyledPanel) self.setFrameShadow(QFrame.Sunken) self.setBackgroundRole(QPalette.Base) self.setAutoFillBackground(True) layout = QHBoxLayout() layout.setContentsMargins(2, 2, 2, 2) layout.setSpacing(0) layout.addWidget(self._numberSpinner) layout.addWidget(self._unitCombo) layout.addWidget(self._directionCombo) self.setLayout(layout) def delta(self): """ Returns a delta based on this widget's information. :return <datetime.timedelta> """ number = self._numberSpinner.value() unit = self._unitCombo.currentText() direction = self._directionCombo.currentText() # use past tense if direction == 'ago': number = -number if unit == 'year(s)': return datetime.timedelta(number * 365) elif unit == 'month(s)': return datetime.timedelta(number * 30) elif unit == 'week(s)': return datetime.timedelta(number * 7) elif unit == 'day(s)': return datetime.timedelta(number) elif unit == 'hour(s)': return datetime.timedelta(0, number * 3600) elif unit == 'minute(s)': return datetime.timedelta(0, number * 60) else: return datetime.timedelta(0, number) def setDelta(self, delta): """ Sets the time delta for this widget to the inputed delta. :param delta | <datetime.timedelta> """ days = int(delta.days) secs = int(delta.total_seconds()) direction = 'from now' if secs < 0: direction = 'ago' if days and days % 365 == 0: number = days / 365 unit = 'year(s)' elif days and days % 30 == 0: number = days / 30 unit = 'month(s)' elif days and days % 7 == 0: number = days / 7 unit = 'week(s)' elif days: number = days unit = 'day(s)' elif secs % 3600 == 0: number = secs / 3600 unit = 'hour(s)' elif secs % 60 == 0: number = secs / 60 unit = 'minute(s)' else: number = secs unit = 'second(s)' self._numberSpinner.setValue(abs(int(number))) self._unitCombo.setCurrentIndex(self._unitCombo.findText(unit)) index = self._directionCombo.findText(direction) self._directionCombo.setCurrentIndex(index)
class XTimeDeltaEdit(QFrame): def __init__(self, parent=None): super(XTimeDeltaEdit, self).__init__(parent) # define custom properties self.setStyleSheet(COMBO_STYLE) self._numberSpinner = QSpinBox(self) self._numberSpinner.setRange(0, 100000) self._numberSpinner.setFrame(False) self._numberSpinner.setButtonSymbols(QSpinBox.NoButtons) self._numberSpinner.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self._unitCombo = QComboBox(self) self._unitCombo.setEditable(True) self._unitCombo.setInsertPolicy(QComboBox.NoInsert) self._unitCombo.setFrame(False) self._unitCombo.addItems([ 'year(s)', 'month(s)', 'week(s)', 'day(s)', 'hour(s)', 'minute(s)', 'second(s)' ]) self._unitCombo.setCurrentIndex(3) self._unitCombo.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self._directionCombo = QComboBox(self) self._directionCombo.addItems(['ago', 'from now']) self._directionCombo.setEditable(True) self._directionCombo.setInsertPolicy(QComboBox.NoInsert) self._directionCombo.setFrame(False) self._directionCombo.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) # setup ui self.setFrameShape(QFrame.StyledPanel) self.setFrameShadow(QFrame.Sunken) self.setBackgroundRole(QPalette.Base) self.setAutoFillBackground(True) layout = QHBoxLayout() layout.setContentsMargins(2, 2, 2, 2) layout.setSpacing(0) layout.addWidget(self._numberSpinner) layout.addWidget(self._unitCombo) layout.addWidget(self._directionCombo) self.setLayout(layout) def delta(self): """ Returns a delta based on this widget's information. :return <datetime.timedelta> """ number = self._numberSpinner.value() unit = self._unitCombo.currentText() direction = self._directionCombo.currentText() # use past tense if direction == 'ago': number = -number if unit == 'year(s)': return datetime.timedelta(number * 365) elif unit == 'month(s)': return datetime.timedelta(number * 30) elif unit == 'week(s)': return datetime.timedelta(number * 7) elif unit == 'day(s)': return datetime.timedelta(number) elif unit == 'hour(s)': return datetime.timedelta(0, number * 3600) elif unit == 'minute(s)': return datetime.timedelta(0, number * 60) else: return datetime.timedelta(0, number) def setDelta(self, delta): """ Sets the time delta for this widget to the inputed delta. :param delta | <datetime.timedelta> """ days = int(delta.days) secs = int(delta.total_seconds()) direction = 'from now' if secs < 0: direction = 'ago' if days and days % 365 == 0: number = days / 365 unit = 'year(s)' elif days and days % 30 == 0: number = days / 30 unit = 'month(s)' elif days and days % 7 == 0: number = days / 7 unit = 'week(s)' elif days: number = days unit = 'day(s)' elif secs % 3600 == 0: number = secs / 3600 unit = 'hour(s)' elif secs % 60 == 0: number = secs / 60 unit = 'minute(s)' else: number = secs unit = 'second(s)' self._numberSpinner.setValue(abs(int(number))) self._unitCombo.setCurrentIndex(self._unitCombo.findText(unit)) index = self._directionCombo.findText(direction) self._directionCombo.setCurrentIndex(index)
class SliceSelectorHud(QFrame): """ Heads up display for slice selection. Compact widget that shows a name, a spinbox and its maximum value explicitly. A background color can be set. """ @property def maximum(self): return self._maximum @property def minimum(self): return self._minimum @maximum.setter def maximum(self, m): self._maximum = m self.coordLabel.setText("of %d" % self._maximum) self.sliceSelector.setRange(self._minimum, self._maximum) @minimum.setter def minimum(self, m): self._minimum = m self.sliceSelector.setRange(self._minimum, self._maximum) @property def label(self): return self._label @label.setter def label(self, l): self._label = l self.dimLabel.setText(l) @property def bgColor(self): return self._bgColor @bgColor.setter def bgColor(self, color): self._bgColor = color palette = self.palette(); palette.setColor(self.backgroundRole(), color); self.setAutoFillBackground(True); self.setPalette(palette) def __init__(self, parent = None): super(SliceSelectorHud, self).__init__(parent) # init properties self._minimum = 0 self._maximum = 1 self._label = '' self._bgColor = QColor(255,255,255) # configure self # # a border-radius of >0px to make the Hud appear rounded # does not work together with an QGLWidget, the corners just appear black # instead of transparent #self.setStyleSheet("QFrame {background-color: white; color: black; border-radius: 0px;}") self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) self.setLayout(QHBoxLayout()) self.layout().setContentsMargins(3,1,3,1) # dimension label self.dimLabel = QLabel(self) font = self.dimLabel.font() font.setBold(True) self.dimLabel.setFont(font) self.layout().addWidget(self.dimLabel) # coordinate selection self.sliceSelector = QSpinBox() self.sliceSelector.setButtonSymbols(QAbstractSpinBox.NoButtons) self.sliceSelector.setAlignment(Qt.AlignRight) self.sliceSelector.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) self.layout().addWidget(self.sliceSelector) # coordinate label self.coordLabel = QLabel() self.layout().addWidget(self.coordLabel)
class QuadStatusBar(QHBoxLayout): def __init__(self, parent=None ): QHBoxLayout.__init__(self, parent) self.setContentsMargins(0,4,0,0) self.setSpacing(0) def createQuadViewStatusBar(self, xbackgroundColor, xforegroundColor, ybackgroundColor, yforegroundColor, zbackgroundColor, zforegroundColor, graybackgroundColor, grayforegroundColor): self.xLabel = QLabel() self.xLabel.setAttribute(Qt.WA_TransparentForMouseEvents, True) self.addWidget(self.xLabel) pixmap = QPixmap(25*10, 25*10) pixmap.fill(xbackgroundColor) painter = QPainter() painter.begin(pixmap) pen = QPen(xforegroundColor) painter.setPen(pen) painter.setRenderHint(QPainter.Antialiasing) font = QFont() font.setBold(True) font.setPixelSize(25*10-30) path = QPainterPath() path.addText(QPointF(50, 25*10-50), font, "X") brush = QBrush(xforegroundColor) painter.setBrush(brush) painter.drawPath(path) painter.setFont(font) painter.end() pixmap = pixmap.scaled(QSize(20,20),Qt.KeepAspectRatio, Qt.SmoothTransformation) self.xLabel.setPixmap(pixmap) self.xSpinBox = QSpinBox() self.xSpinBox.setAttribute(Qt.WA_TransparentForMouseEvents, True) self.xSpinBox.setEnabled(False) self.xSpinBox.setAlignment(Qt.AlignCenter) self.xSpinBox.setToolTip("xSpinBox") self.xSpinBox.setButtonSymbols(QAbstractSpinBox.NoButtons) self.xSpinBox.setMaximumHeight(20) self.xSpinBox.setMaximum(9999) font = self.xSpinBox.font() font.setPixelSize(14) self.xSpinBox.setFont(font) self.xSpinBox.setStyleSheet("QSpinBox { color: " + str(xforegroundColor.name()) + "; font: bold; background-color: " + str(xbackgroundColor.name()) + "; border:0;}") self.addWidget(self.xSpinBox) self.yLabel = QLabel() self.yLabel.setAttribute(Qt.WA_TransparentForMouseEvents, True) self.addWidget(self.yLabel) pixmap = QPixmap(25*10, 25*10) pixmap.fill(ybackgroundColor) painter = QPainter() painter.begin(pixmap) pen = QPen(yforegroundColor) painter.setPen(pen) painter.setRenderHint(QPainter.Antialiasing) font = QFont() font.setBold(True) font.setPixelSize(25*10-30) path = QPainterPath() path.addText(QPointF(50, 25*10-50), font, "Y") brush = QBrush(yforegroundColor) painter.setBrush(brush) painter.drawPath(path) painter.setFont(font) painter.end() pixmap = pixmap.scaled(QSize(20,20),Qt.KeepAspectRatio, Qt.SmoothTransformation) self.yLabel.setPixmap(pixmap) self.ySpinBox = QSpinBox() self.ySpinBox.setAttribute(Qt.WA_TransparentForMouseEvents, True) self.ySpinBox.setEnabled(False) self.ySpinBox.setAlignment(Qt.AlignCenter) self.ySpinBox.setToolTip("ySpinBox") self.ySpinBox.setButtonSymbols(QAbstractSpinBox.NoButtons) self.ySpinBox.setMaximumHeight(20) self.ySpinBox.setMaximum(9999) font = self.ySpinBox.font() font.setPixelSize(14) self.ySpinBox.setFont(font) self.ySpinBox.setStyleSheet("QSpinBox { color: " + str(yforegroundColor.name()) + "; font: bold; background-color: " + str(ybackgroundColor.name()) + "; border:0;}") self.addWidget(self.ySpinBox) self.zLabel = QLabel() self.zLabel.setAttribute(Qt.WA_TransparentForMouseEvents, True) self.addWidget(self.zLabel) pixmap = QPixmap(25*10, 25*10) pixmap.fill(zbackgroundColor) painter = QPainter() painter.begin(pixmap) pen = QPen(zforegroundColor) painter.setPen(pen) painter.setRenderHint(QPainter.Antialiasing) font = QFont() font.setBold(True) font.setPixelSize(25*10-30) path = QPainterPath() path.addText(QPointF(50, 25*10-50), font, "Z") brush = QBrush(zforegroundColor) painter.setBrush(brush) painter.drawPath(path) painter.setFont(font) painter.end() pixmap = pixmap.scaled(QSize(20,20),Qt.KeepAspectRatio, Qt.SmoothTransformation) self.zLabel.setPixmap(pixmap) self.zSpinBox = QSpinBox() self.zSpinBox.setAttribute(Qt.WA_TransparentForMouseEvents, True) self.zSpinBox.setEnabled(False) self.zSpinBox.setAlignment(Qt.AlignCenter) self.zSpinBox.setToolTip("zSpinBox") self.zSpinBox.setButtonSymbols(QAbstractSpinBox.NoButtons) self.zSpinBox.setMaximumHeight(20) self.zSpinBox.setMaximum(9999) font = self.zSpinBox.font() font.setPixelSize(14) self.zSpinBox.setFont(font) self.zSpinBox.setStyleSheet("QSpinBox { color: " + str(zforegroundColor.name()) + "; font: bold; background-color: " + str(zbackgroundColor.name()) + "; border:0;}") self.addWidget(self.zSpinBox) self.addSpacing(4) self.grayScaleLabel = QLabel() self.grayScaleLabel.setAttribute(Qt.WA_TransparentForMouseEvents, True) self.addWidget(self.grayScaleLabel) pixmap = QPixmap(610, 250) pixmap.fill(graybackgroundColor) painter = QPainter() painter.begin(pixmap) pen = QPen(grayforegroundColor) painter.setPen(pen) painter.setRenderHint(QPainter.Antialiasing) font = QFont() font.setBold(True) font.setPixelSize(25*10-30) path = QPainterPath() path.addText(QPointF(50, 25*10-50), font, "Gray") brush = QBrush(grayforegroundColor) painter.setBrush(brush) painter.drawPath(path) painter.setFont(font) painter.end() pixmap = pixmap.scaled(QSize(61,20),Qt.KeepAspectRatio, Qt.SmoothTransformation) """ self.grayScaleLabel.setPixmap(pixmap) self.grayScaleSpinBox = QSpinBox() self.grayScaleSpinBox.setAttribute(Qt.WA_TransparentForMouseEvents, True) self.grayScaleSpinBox.setEnabled(False) self.grayScaleSpinBox.setAlignment(Qt.AlignCenter) self.grayScaleSpinBox.setToolTip("grayscaleSpinBox") self.grayScaleSpinBox.setButtonSymbols(QAbstractSpinBox.NoButtons) self.grayScaleSpinBox.setMaximum(255) self.grayScaleSpinBox.setMaximumHeight(20) self.grayScaleSpinBox.setMaximum(255) font = self.grayScaleSpinBox.font() font.setPixelSize(14) self.grayScaleSpinBox.setFont(font) self.grayScaleSpinBox.setStyleSheet("QSpinBox { color: " + str(grayforegroundColor.name()) + "; font: bold; background-color: " + str(graybackgroundColor.name()) + "; border:0;}") self.addWidget(self.grayScaleSpinBox) """ self.addStretch() self.positionCheckBox = QCheckBox() self.positionCheckBox.setChecked(True) self.positionCheckBox.setCheckable(True) self.positionCheckBox.setText("Position") self.addWidget(self.positionCheckBox) self.addSpacing(20) self.channelLabel = QLabel("Channel:") self.addWidget(self.channelLabel) self.channelSpinBox = QSpinBox() self.addWidget(self.channelSpinBox) self.addSpacing(20) self.timeLabel = QLabel("Time:") self.addWidget(self.timeLabel) self.timeSpinBox = QSpinBox() self.addWidget(self.timeSpinBox) """ def setGrayScale(self, gray): self.grayScaleSpinBox.setValue(gray) """ def setMouseCoords(self, x, y, z): self.xSpinBox.setValue(x) self.ySpinBox.setValue(y) self.zSpinBox.setValue(z)