Russian Qt Forum

Qt => Общие вопросы => Тема начата: akaMDA от Январь 20, 2010, 22:13



Название: QValidator vs DDX
Отправлено: akaMDA от Январь 20, 2010, 22:13
Подскажите, плиз, кто знает. DDX - это MFC-шный вариант QValidate? Или че это?


Название: Re: QValidator vs DDX
Отправлено: lit-uriy от Январь 20, 2010, 22:28
Гугл говорит, что это "DDX is an abbreviation of Dialog Data Exchange, a technology in Microsoft Windows."
А вот сайт мелкософта (http://msdn.microsoft.com/en-us/library/0khz1cy9(VS.80).aspx),
DDX - НЕ Validation


Название: Re: QValidator vs DDX
Отправлено: akaMDA от Январь 20, 2010, 22:46
Ну как я понял, это ms-шная технология, отвечающая за обмен данными между диалоговым окном и пэрэнтом и контроль этих данных. Типа возникает проблема в связи по сообщениям. В Qt, я так понимаю, можно провести парраллель с QValidator и SIGNAL/SLOT.  Или еще есть вариант!
Мне просто нужна парраллель понятия DDX с Qt...


Название: Re: QValidator vs DDX
Отправлено: Dendy от Январь 20, 2010, 23:39
DDX - неестественная костылеобразная модель обмена данными между визуальными формами и переменными, поскольку никакого мостика между формами в виде ресурсов и C/C++ кодом в MFC не было. В Qt такой мостик есть - в виде uic и QUiLoader/Property System. Как правило uic генерирует заголовочник, в котором обьявлен класс с указателями на экземпляры обьектов на форме, через которые данные возвращаются устанавливаются явно: ui.slider->value()/ui.slider->setValue(123).


Название: Re: QValidator vs DDX
Отправлено: mozgofil от Январь 23, 2010, 21:24
Мне просто нужна парраллель понятия DDX с Qt...
насколко понимаю параллель следующая :
- (DDV если память не изменяет) проверку правильности выражения  можно осуществлять Qvalidator'ом
-  значение получить - ч/з соотв. функцию класса контрола (value() или  text())
-  событие изменения содержимого контрола отслеживается с помощью соотв. сигнала контрола. Сигнал можно прицепить к слотам др. производных от QObject'a объектов, в частности к диалогу.

Только программить мышкой с Qt не так приятно как c MFC(Лично я GUI прописываю в коде).