2016-10-30 7 views
0

Я создаю программу, используя QTreeWidget. Когда я дважды нажимаю на дочерний элемент, он позволяет редактировать этого ребенка. Я пишу функцию для проверки нового значения ввода с помощью QDoubleValidator, и я хочу показать подсказку с ошибкой, но она не работает, поэтому у меня есть вопрос, могу ли я написать валидатор, который сразу проверяет входное значение (например, ajax в веб-разработке) и показывает подсказка подсказки? Может ли кто-нибудь иметь меня?Двойная проверка в QTreeWidget

ответ

0

Ваш вопрос довольно неспецифичен, потому что вы упустили шанс предоставить какой-либо код.

В любом случае, я думаю, что вам не нужно самореализоваться QValidator, если и только если функциональность QDoubleValidator достаточна.

Что бы я делал, это реализовать слот в главном виджетах/диалоге и подключить сигнал void QTreeWidget::itemChanged(QTreeWidgetItem *item, int column) к созданному слоту. Всякий раз, когда какой-либо элемент дерева изменяется, вызывается вызов слота.

Внутри слота вы можете сделать любую магию для проверки изменения, если вы используете QDoubleValidator или нет. После любой недействительной проверки вы можете отобразить сообщение об ошибке или вывести QMessageBox.


Если вам нужна дополнительная информация или вам необходимо предоставить дополнительную информацию. Не стесняйтесь создавать MCVE. Для хорошего примера посмотрите here.

Смежные вопросы