Russian Qt Forum
Ноябрь 23, 2024, 03:10
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
закрыть QDialog при потере фокуса
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: закрыть QDialog при потере фокуса (Прочитано 3569 раз)
deMax
Хакер
Offline
Сообщений: 600
закрыть QDialog при потере фокуса
«
:
Март 06, 2018, 14:45 »
Собственно сабж, я правильно понимаю всем кнопкам диалога(кроме кнопок больше ничего фокусирующегося там нет) надо переопределить focusout который будет посылать сигнал диалогу, а диалог будет проверять если все кнопки потеряли фокус - делать reject();
или есть способ менее извратный?
Если диалогу фокус поставить(что не правильно), то focusout вызывается когда на кнопку фокус переходит.
И опять же, если кликнуть вне приложения диалог закрывается. А вот если кликнуть мышкой вне диалога, но внутри приложения, то фокус не теряется...
«
Последнее редактирование: Март 12, 2018, 15:37 от deMax
»
Записан
deMax
Хакер
Offline
Сообщений: 600
Re: закрыть QDialog при потере фокуса
«
Ответ #1 :
Март 06, 2018, 17:19 »
setWindowFlags((windowFlags() | Qt::FramelessWindowHint | Qt::Popup) & ~Qt::Dialog);
снес флаг Qt::Dialog заработало.
Записан
deMax
Хакер
Offline
Сообщений: 600
Re: [SOLVED]закрыть QDialog при потере фокуса
«
Ответ #2 :
Март 12, 2018, 14:58 »
Обнаружилась проблема. фокус рисуется не на нужной кнопке:
кнопки ok, cancel, all
поставил фокус на cancel, фокус рисует на кнопке all хотя реально он находиться на кнопке cancel(видно при нажатии кнопки или перемещении).
если QDialog убрать, рисуется правильно, но тогда форма не теряет фокус и не закрывается автоматически.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...