как отловить потерю фокуса у диалога ?
QWidget::focusInEvent/ QWidget::focusOutEvent?
Ассистант рулит....
Личный опыт на иностранном языке звучит как first experience, и открывает сущность термина.
Он всегда первый и не может быть передан с сохранением личностных свойств.
Если тебе нужен личный опыт, тогда исследуй сам.
а
А ты ему перед этим setFocus делаешь?
assistant
A widget normally must setFocusPolicy() to something other than Qt::NoFocus in order to receive focus events. (Note that the application programmer can call setFocus() on any widget, even those that do not normally accept focus.)
так что поробуй явно.
явным образом нет.
идея проста
1. создал дилог через new
2.сделал show т.е вывел диалог на экран
3.как только фокус теряется (ну предположим я мышкой щёлкаю в не области диалога) мне надо получить какоето сообзение.
???
вобщем не дождался от тебя реакции.
#ifndef DIALOGIMPL_H
#define DIALOGIMPL_H
//
#include <QDialog>
#include "ui_dialog.h"
//
class DialogImpl : public QDialog, public Ui::Dialog
{
Q_OBJECT
public:
DialogImpl( QWidget * parent = 0, Qt::WFlags f = 0 ): QDialog(parent, f)
{
setupUi(this);
setFocus();
}
private slots:
void focusOutEvent(QFocusEvent *) { /*set code*/ }
};
#endif
толи лыжи не едут толи я...
у меян не работает...
единственное отличие это то что у меня нет setupUi(this); и public Ui::Dialog
class DialogImpl : public QDialog
{
Q_OBJECT
public:
DialogImpl( QWidget * parent = 0, Qt::WFlags f = 0 ): QDialog(parent, f)
{
setFocus();
}
private slots:
void focusOutEvent(QFocusEvent *) { /*set code*/ }
};
продолжение вынес в отдельную тему...
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)