QDoubleSpinBox をサブクラス化して、いくつかの機能 (ライン編集のカーソルの位置に基づいて値をインクリメントするなど) を追加し、面倒な機能をいくつか変更しています。後者の 1 つは、中間値が発行されることです。たとえば、値 323 を入力する場合は、3 を発行し、次に 32、最後に 323 を発行します。エントリ時にのみ発行するように設定したいと思います (つまり、エントリ時に実際に値を変更するだけです)。 )。
とにかく、これらの中間編集をキャプチャする方法がわかりません。setValue をオーバーライドして、何らかの方法で停止できるかどうかを確認しましたが、明らかに呼び出されていません (または、少なくとも私のオーバーライドは呼び出されていません)。行編集で編集中に値が実際にどのように設定されているのかわかりません。
より一般的には、このボックスのロジックは私には理解できません。たとえば、「行編集に数字を入力すると、この一連のルーチンが呼び出されます... 上矢印を押すと、この一連のルーチンが呼び出されますか?」などを説明するドキュメントはありますか?
重要な場合、私は PyQt5 を使用しています
編集:これにアクセスすることが重要な別のケースがあります。ボックスの元に戻す/やり直し構造を実装したいとします。変更された値にアクセスする唯一の方法は、valueChanged シグナルに接続することです。しかし、ボックスをサブクラス化している場合、「内部」で値の変化を監視するだけでなく、信号をリッスンするのは少し複雑に思えます。それとも、ここで何か不足していますか?