小编Kak*_*shi的帖子

修复在PyQt中输入双打平箱的值

我想创建一个双精度框,以0.2的步长更改值.但是当用户根据步骤输入不正确的值时.我将其标准化为最接近的正确值.我尝试了类似下面显示的代码,但我不知道如何停止输入0.5之类的值.请帮帮我.


    from PyQt4.QtCore import *
    from PyQt4.QtGui import *

    class SigSlot(QWidget):
        def __init__(self, parent=None):
            QWidget.__init__(self, parent)
            self.setWindowTitle('spinbox value')
            self.resize(250,150)
            self.lcd1 = QLCDNumber(self)
            self.spinbox1 = QDoubleSpinBox(self)
            self.spinbox1.setSingleStep(0.2)
            self.spinbox1.setCorrectionMode(1)
             # create a Grid Layout
            grid = QGridLayout()
            grid.addWidget(self.lcd1, 0, 0)
            grid.addWidget(self.spinbox1, 1, 0)
            self.setLayout(grid)
             # allows access to the spinbox value as it changes
            self.connect(self.spinbox1, SIGNAL('valueChanged(double)'), self.change_value1)

        def change_value1(self, event):
            val = self.spinbox1.value()
            self.lcd1.display(val)

    app = QApplication([])
    qb = SigSlot()
    qb.show()
    app.exec_()
Run Code Online (Sandbox Code Playgroud)

python qt pyqt pyqt4

2
推荐指数
1
解决办法
2233
查看次数

标签 统计

pyqt ×1

pyqt4 ×1

python ×1

qt ×1