Russian Qt Forum
Ноябрь 26, 2024, 06:39
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Не могу разобраться с "масками" полей ввода
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Не могу разобраться с "масками" полей ввода (Прочитано 3420 раз)
Atronah
Гость
Не могу разобраться с "масками" полей ввода
«
:
Октябрь 04, 2009, 22:35 »
При разработке приложения потребовалось ограничить поле ввода (Line Edit) только числами (положительные и отрицательные). Сначала попытался сделать это через окно свойств объекта в интерфейсе Qt Designer. Не вышло, пробовал подставлять в поле disambiguation маску (#0009) и напрямую и в кавычках, не помогло.
Сделал программно, при запуске приложения (ui->edt1->setInputMask("#0009")), получилось. Но возникла другая проблема:
В справке Qt написано, что "#" - необязательные числа и знаки +/-, а "0" - это необязательные числа. Так вот на практике, что "0", что "#" позволяют на их место вводить еще и пробел, поэтому для указанной маски будет нормальным текст "3 42", т.е. с пробелом (хотя при проверке введенного текста через синхронную Сигнал-Слот привязку к QLabel видно что пробелы не учитываются). Так же, в добавок к этому, после запуска и перевода курсора в Edit, как то все не эстетично отображается (понятней объяснить не могу).
Мои конкретные вопросы:
1. Как через интерфейс дезайнера можно установить маску (не существенно, но интересно, что не так делаю).
2. Как сделать более красивый ввод нужных мне значений в Edit средствами Qt, а не собственными?
Записан
SimpleSunny
Гость
Re: Не могу разобраться с "масками" полей ввода
«
Ответ #1 :
Октябрь 05, 2009, 08:30 »
2. QIntValidator или QRegExpValidator смотря какой размер числа.
QLineEdit.setValidator()
«
Последнее редактирование: Октябрь 05, 2009, 08:32 от SimpleSunny
»
Записан
Aleksey_Zh
Гость
Re: Не могу разобраться с "масками" полей ввода
«
Ответ #2 :
Октябрь 05, 2009, 15:31 »
Можно просто перехватить события клавиатуры на этот компонент и ненужные отсеять...
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...