stepBy
を再実装することで、デフォルトの動作をオーバーライド可能です:
class DateEdit(QtGui.QDateEdit):
def stepBy(self, steps):
self.setDateTime(self.dateTime().addDays(steps))
カーソルが年でなければならないので、しかし、これは、完全ではないかなり作業を行いますセクションを使用して連続的な増分を取得します。 月のセクションにある場合は、その年のすべての月/日だけ増分されます。 日のセクションにある場合は、その月のすべての日にのみ増加します。個人的には、これを「フィーチャ」として扱い、それをそのままにしておくと思います(実装はとても簡単なので)。
年のセクションにカーソルを強制的に置こうとすると、手動での編集が妨げられるため、使い勝手が大幅に低下します。しかし、私はあなたが手動編集を提供するために、カレンダーのポップアップを使用して、読み取り専用のライン編集を作ることができたとします
class DateEdit(QtGui.QDateEdit):
def __init__(self, *args, **kwargs):
super(DateEdit, self).__init__(*args, **kwargs)
self.setCalendarPopup(True)
edit = self.lineEdit()
edit.setReadOnly(True)
edit.selectionChanged.connect(lambda edit=edit: edit.end(False))
def stepBy(self, steps):
self.setDateTime(self.dateTime().addDays(steps))
[OK]を、私は入れ – driconmax
....あなたがこれまでに何をしたか私たちを見ます私が何を意味するかを示すgif。ありがとうございました。 – anvelascos