Russian Qt Forum
Октябрь 01, 2024, 12:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: запретить закрывать виджет  (Прочитано 4200 раз)
vux
Гость
« : Март 16, 2012, 11:16 »

Можно ли заблокировать возможность закрыть виджет у которого нет родителя.
Записан
V1KT0P
Гость
« Ответ #1 : Март 16, 2012, 11:30 »

Можно ли заблокировать возможность закрыть виджет у которого нет родителя.
Да.
Записан
vux
Гость
« Ответ #2 : Март 16, 2012, 11:46 »

как?
Записан
V1KT0P
Гость
« Ответ #3 : Март 16, 2012, 11:50 »

как?
Код
C++ (Qt)
void QWidget::closeEvent(QCloseEvent *event)
{
   if (this->parent())
       event->accept();
   else
       event->ignore();
}
 
Записан
vux
Гость
« Ответ #4 : Март 16, 2012, 11:57 »

У меня evenFilter назначен на этот виджет, посему проверять имеет ли он родителя мне не нужно.
но при:
(Python)

Код
Python
if event.type() == QtCore.QEvent.Close:
   event.ignore()

виджет всеравно закрываеться
Записан
V1KT0P
Гость
« Ответ #5 : Март 16, 2012, 12:13 »

У меня evenFilter назначен на этот виджет, посему проверять имеет ли он родителя мне не нужно.
но при:
(Python)

Код
Python
if event.type() == QtCore.QEvent.Close:
   event.ignore()

виджет всеравно закрываеться
На С++ вот такое работает:
Код
C++ (Qt)
bool Widget::eventFilter(QObject *obj, QEvent *e)
{
   if (e->type() == QEvent::Close)
       e->ignore();
   return true;
}
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #6 : Март 16, 2012, 12:14 »

в фильтре надо ещё тру вернуть

альтернативный вариант - убрать кнопку закрытия виджета
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
vux
Гость
« Ответ #7 : Март 16, 2012, 12:20 »

спасибо - работает
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.099 секунд. Запросов: 23.