Название: ip address input widget Отправлено: deMax от Апрель 12, 2018, 10:46 Собственно хотелось бы нормальный виджет под эту простую задачу(как в винде).
Поле вглядит как QLineEdit, точки делят окно ввода на 4 равные части, цифры между точками выравненны по центру, при вводе числа переход на следующую ячейку и её выделение(чтоб затереть числа)... Вроде есть примеры где 4 QLineEdit засовывают в QFrame, я допилил такой. Но проблемы с тем что я например не могу выделить текст сразу в нескольких ячейках. QLineEdit::setInputMask не дает возможности выровнять по центру числа(когда их меньше 3ех). Название: Re: ip address input widget Отправлено: Swa от Апрель 12, 2018, 11:33 Попробовал в виндовом контроле выделить ip адрес полностью, не получилось, выделяется только первый октет.
QLineEdit - универсальное решение. Если вам нужно что-то более специализированное, то нужно писать свой виджет. Наследуйтесь от QLineEdit и переопределяйте функцию рендеринга виджета. Название: Re: ip address input widget Отправлено: deMax от Апрель 12, 2018, 13:12 А как рендеринг переопределить? Чтобы текст выделялся и курсор был?
Название: Re: ip address input widget Отправлено: deMax от Апрель 12, 2018, 13:32 ок с курсором понятно. храним переменную bool и инвертируем её в paintevent. cursorPosition() вернет где текст.
Название: Re: ip address input widget Отправлено: qate от Апрель 12, 2018, 15:10 при вводе числа переход на следующую ячейку ненавижу этот виджет, например при вводе 1.2.3.4 возможно для тупых он и хорош, но по быстрому ввести не позволяет, копипаста с изменением неудобна Название: Re: ip address input widget Отправлено: deMax от Апрель 12, 2018, 15:44 Что не позволяет, точка переходит к следующей ячейке. ctrl+c, ctrl+v, ctrl+a тоже легко реализовать
Засунул его как QStyledItemDelegate, при окончании редактирования как вернуть фокус таблице? У меня QFrame, внутри 4 QLineEdit. если нажать Enter при редактировании первого элемента фокус возвращаятся нормально на текущую ячейку. А если другие элементы - фокус перелетает на следующую ячейку в таблице и стрелки не перемещают выбранную ячейку. Название: Re: ip address input widget Отправлено: qate от Апрель 12, 2018, 17:10 я всеже недолюбливаю "умные" поля ввода - каждый делает их по своему разумению
обычный lineedit и проще и все равно проверку делать что введено и в умный не вставить, например, из браузера адрес, который дописывает http:// но это мои предпочтения |