Cómo agregar un punto flotante en un número de LCD para Qt?
En Qt Designer intento agregar un número decimal entre los dígitos, como 19.44, pero no he encontrado ninguna funcionalidad para hacerlo. Para hacer esto, he escrito un código simple que se muestra a continuación:
Esto es lo que quiero hacer:
Quiero mostrar un valor de temperatura. Para esto, intenté escribir float(8.8) y aproximarlo a 9. Quiero mostrarlo como 8.8. Aquí está mi archivo .py.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(469, 360)
Dialog.setStyleSheet("")
Dialog.setSizeGripEnabled(False)
Dialog.setModal(False)
self.lcdNumber_2 = QtWidgets.QLCDNumber(Dialog)
self.lcdNumber_2.setGeometry(QtCore.QRect(140, 60, 191, 161))
self.lcdNumber_2.setStyleSheet("color: rgb(0, 0, 0);")
self.lcdNumber_2.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.lcdNumber_2.setSmallDecimalPoint(True)
self.lcdNumber_2.setDigitCount(2)
self.lcdNumber_2.setSegmentStyle(QtWidgets.QLCDNumber.Filled)
self.lcdNumber_2.setProperty("intValue", 88)
self.lcdNumber_2.setObjectName("lcdNumber_2")
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Dialog = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
sys.exit(app.exec_())
Salida:
¿Cómo se puede agregar un punto en él? ¿Existe alguna forma de hacerlo?
davy.ai
Para agregar un punto flotante en la pantalla LCD, necesitas establecer las propiedades
smallDecimalPoint
ydigitCount
del widgetQLCDNumber
.Primero, cambia la propiedad
digitCount
a3
para acomodar el punto decimal. Luego, establecesmallDecimalPoint
enFalse
para mostrar un punto decimal más grande.Aquí está el código modificado:
Ten en cuenta que la
PropertyValue
se establece enint(19.44 * 10)
en lugar defloat(19.44)
para evitar errores de redondeo de punto flotante.La salida debería verse así: