2014-02-03 4 views
2

Я использую несколько файлов в моем приложении Qt, и я замечаю странное поведение: когда я пытаюсь изменить фильтры, неправильные типы деактивируются, только если я изменяю размер окна (вы можете увидеть пример here on youtube)Фильтры FileDialog не работают

это случиться только на Mac Os 10.9.x.

Поскольку проблема также присутствует в Firefox, я предполагаю, что это не от меня. У кого-нибудь есть идея, как это исправить?

+0

Сообщите об ошибке Apple, и скрестите пальцы, чтобы исправить ее :) –

+0

@KubaOber done, я также пишу письмо Санта-Клаусу, чтобы узнать, что ответит первым! –

ответ

1

Так как это также происходит в Firefox, который не использует Qt, это, вероятно, ошибка Mac OS, поэтому вы не можете действительно устранить ошибку. То, что вы можете попробовать это подключить filterSelected сигнал вашего диалога к способу, который либо вызывает

dialog.repaint(); 

или

dialog.resize (dialog.size()); 

или, если все вышеперечисленное не получится,

QSize size = dialog.size(); 
dialog.resize (size.width() + 1, size.height()); 
dialog.resize (size); 

и надеемся, что одно из этих обходных путей вызовет необходимые события.

+0

Я использовал этот 'connect (& dlg, SIGNAL (filterSelected (QString)), & dlg, SLOT (repaint()));' 'dlg' является диалогом, который вызывает проблему, и она не работает ... –

+0

И другие два варианта? –

+0

Не работает ни ... –

Смежные вопросы