DateTimeEdit,TimeEdit步骤

时间:2018-12-24 17:03:50

标签: python pyqt pyqt5 qtimeedit

我在寻找解决方案,但没有找到。 我想通过按分钟或仅这些分钟的向上或向下箭头来将其放入QTimeEdit,步骤10。我想在样式表中编写。 我已经尝试过这些解决方案,但是它们不起作用。

QTimeEdit::MinuteSection{
stepBy:10;
}

QTimeEdit QAbstractSpinBox{
stepEnabled: True;
}

QTimeEdit QAbstractSpinBox::MinuteSection {
stepEnabled: True;
stepBy:10;
}

在分钟数以上的所有情况下,始终前进1而不是10。 但是,代码没有给我任何错误。 从PyQt5导入QtCore,QtGui,QtWidgets

class timeEdit(QtWidgets.QTimeEdit):
    def stepBy(self, steps):
        if self.currentSection() == self.MinuteSection:
            steps=10


class MainWindow(QtWidgets.QWidget):
    def __init__(self):#FFFFFF
        super(MainWindow, self).__init__()
        self.resize(800, 480)
        self.setWindowTitle("MainWindow")
        self.setObjectName("MainWindow")
        self.timeEdit = QtWidgets.QTimeEdit(self)
        self.timeEdit.setGeometry(QtCore.QRect(330, 30, 200, 100))
        self.timeEdit.stepBy(1)
        self.timeEdit2 = QtWidgets.QTimeEdit(self)
        self.timeEdit2.setGeometry(QtCore.QRect(330, 230, 200, 100))


if __name__ == "__main__":
    import sys
    app =QtWidgets.QApplication(sys.argv)

    Window= MainWindow()
    Window.show()
    sys.exit(app.exec_())

if __name__ == "__main__":
    main()

1 个答案:

答案 0 :(得分:0)

Qt样式表仅用于可视部分,它们不处理失败的逻辑。解决方案是覆盖stepBy()的{​​{1}}方法:

QTimeEdit