Название: [3.3.8]Как подменить кнопку навигации между полями QDateTimeEdit? Отправлено: Hordi от Января 17, 2008, 15:39 Необходимо подменить кнопку перехода между элементами поля ввода даты(времени) класса QDateTimeEdit (или аналоги). По умолчанию используется Key_Right и кнопка-разделителя (для даты ".", для времени ":").
Пробовал через eventFilter подменять точку на Key_Right - ничего не срабатывает. Вот кусок кода, который не работает: bool CDateTime::eventFilter( QObject *obj, QEvent *e_ ) { if(QEvent::KeyPress == e_->type()){ QKeyEvent *e = static_cast<QKeyEvent*>(e_); int k = e->key(); qDebug("%d",k); if(Key_Period==k){ QKeyEvent ev(QEvent::KeyPress, Key_Right, 0, Qt::NoButton); QApplication::sendEvent(obj,&ev); return true; } } return CRegDialog::eventFilter(obj,e_); } Название: Re: Как подменить кнопку навигации между полями QDateTimeEdit? Отправлено: ритт от Января 17, 2008, 16:09 мой ассистант не знает такого конструктора кейивента...знает только такой: QKeyEvent::QKeyEvent ( Type type, int key, Qt::KeyboardModifiers modifiers, const QString & text = QString(), bool autorep = false, ushort count = 1 )
/* укажи версию кутэ в тайтле поста */ Название: Re: Как подменить кнопку навигации между полями QDateTimeEdit? Отправлено: Hordi от Января 17, 2008, 16:22 Сори, qt-3.3.8
Название: Re: [3.3.8]Как подменить кнопку навигации между полями QDateTimeEdit? Отправлено: BaltikS от Января 18, 2008, 23:18 Мне кажется этот код не будет работать... Потому как Ты ставишь фильтр на QDateTime. А редактируешь дату и время с клавиатуры непосредственно уже в другом виджете QDateEdit(QTimeEdit).... Эти виджеты внутри QDateTimeEdit-а... А доступа увы к ним нету ;)
Название: Re: [3.3.8]Как подменить кнопку навигации между полями QDateTimeEdit? Отправлено: _govorilka от Января 19, 2008, 06:19 А в 4.x.x, есть функции...
QDateTimeEdit::lineEdit() - доступ к edit'у QDateTimeEdit::setLineEdit(QLineEdit * lineEdit) - установка собственного edit'а Если нет объективных причин, лучше перейти на 4.x.x, проблем будет решать проще |