crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в потеря фокуса
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
flankerr Дата 11.9.2008, 17:59
  продолжение вынес в отдельную тему...
flankerr Дата 11.9.2008, 16:31
  толи лыжи не едут толи я...
у меян не работает...
единственное отличие это то что у меня нет 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*/ }
};


лыжи поехали...
оказалось без ui_dialog.h работать не будет
создал диалог в редакторе и заработало

Плин focusOutEvent вызывается во всех случаях если мышкой торкнуть в не оласти ЗАГОЛОВКА.
т.е. даже если я торкаю по комбоксу внутри лдиалога то вызывется focusOutEvent....
ЙаМайскЫйПчОЛ Дата 11.9.2008, 15:33
  ???
вобщем не дождался от тебя реакции.
#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

это работает
если проблеммы читай http://www.forum.crossplatform.ru/index.ph...post&p=8423
flankerr Дата 11.9.2008, 14:26
  явным образом нет.
идея проста
1. создал дилог через new
2.сделал show т.е вывел диалог на экран
3.как только фокус теряется (ну предположим я мышкой щёлкаю в не области диалога) мне надо получить какоето сообзение.
ЙаМайскЫйПчОЛ Дата 11.9.2008, 14:23
  А ты ему перед этим 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.)

так что поробуй явно.
flankerr Дата 11.9.2008, 14:03
 
Цитата(ЙаМайскЫйПчОЛ @ 11.9.2008, 14:55) *
Личный опыт на иностранном языке звучит как first experience, и открывает сущность термина.
Он всегда первый и не может быть передан с сохранением личностных свойств.
Если тебе нужен личный опыт, тогда исследуй сам.
]
нашла каса на камень и пошла философия :)

что касается опыта...
просто хотел сказать что посмотреть в ассистенс могу и сам и просто тупо торкать носом туда не стоит, особенно если нет своего опыта работы с озвученым ворпосом;) если написал тут значит что-то не сраслось...



код...
ну я тупо взял ассистенс..
и переопредлил у себя в классе диалога focusOutEvent ( QFocusEvent * event ) и вот после потери фокуса в эту функцию вхождений нет.
ЙаМайскЫйПчОЛ Дата 11.9.2008, 13:55
  Личный опыт на иностранном языке звучит как first experience, и открывает сущность термина.
Он всегда первый и не может быть передан с сохранением личностных свойств.
Если тебе нужен личный опыт, тогда исследуй сам.
а
Цитата(flankerr @ 11.9.2008, 14:46) *
НЕ работает! или я не умею "готовить"....


тогда давай код.
flankerr Дата 11.9.2008, 13:46
 
Цитата(trdm @ 11.9.2008, 14:06) *
QWidget::focusInEvent/ QWidget::focusOutEvent?Ассистант рулит....

рулит одназначно! А ещё больше рулит личный опыт! ;)

НЕ работает! или я не умею "готовить"....
trdm Дата 11.9.2008, 13:06
  QWidget::focusInEvent/ QWidget::focusOutEvent?
Ассистант рулит....
flankerr Дата 11.9.2008, 12:43
  как отловить потерю фокуса у диалога ?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 14:55