2015-02-26 2 views
1

Я попытался найти эту проблему по-разному, но не нашел ничего полезного, поэтому, возможно, есть простой способ обойти это, которого я просто не нашел. Если так, мои извинения заранее.Как разрешить QSpinBox вставлять при заполнении?

Я использую несколько QSpinBoxes в своем приложении, и у них есть поведение, которое я считаю довольно расстраивающим, а именно, что если вы вставляете курсор и пытаетесь ввести его, он блокируется и ничего не вставлено. Если я затем удалю символ, тогда я могу набрать один символ и так далее.

Пример: 0.0000

вставить курсор после того, как:

со счётчиком показывает '' и хотите ввести «5», то есть тогда будет 0,50000. Это заблокировано, поскольку спинбокс заполнен, учитывая ограничения, которые я установил на ограничениях и точности. Я должен нажать «Удалить», чтобы удалить «0», поэтому он говорит 0.000, а затем я могу ввести «5».

Как я могу позволить проигрывателю принимать все допустимые данные во время ввода и беспокоиться только об усечении значения в конце?

ответ

0

Возможно, вы могли бы подклассифицировать QDoubleSpinBox и повторно реализовать его метод проверки, чтобы номера с более десятичными точками.

Затем захватите редактируемый финишный сигнал, чтобы усечь введенное значение.

+0

Да, это может быть то, что я в конечном итоге должен сделать, но я надеялся, что просто пропустил некоторые возможности, так как основные средства управления основными платформами работают так, AFAIK. Странно, что Qt решил сделать это по-другому, не предоставляя контроль для получения «обычного» поведения. –