У меня есть QMainWindow, и из этого я открываю другое диалоговое окно, используя dialog-> show(); Внутри диалога У меня есть кнопка «Button1» и «Button2».Qt изменяет модальность диалогового окна во время выполнения, не скрывая его в первый раз, а затем показывает
Здесь, когда пользователь нажимает «Button1», чем модальность диалогового окна, следует изменить на «Qt :: ApplicationModal», а когда пользователь нажимает «Button2», то модальность диалога должна измениться на «Qt :: NonModal».
Я могу сделать это, используя «setWindowModality (Qt :: ApplicationModal);» внутри кнопки «Button1», затем следуют «hide() и show();» и "setWindowModality (Qt :: NonModal);" внутри «Button2» щелкнули, а затем «hide() и show();»
Но если я использую метод выше, чем QDialog, это дает мерцание, которое очевидно, поскольку я использую функцию «hide() и show()». Этот мигающий эффект я не хочу.
Так, любезно предлагает:
- Как изменить модальность QDialog открыло шоу() без использования «шкурки()» и «шоу()» после изменения модальности?
- Если нет другого способа изменения модальности QDiloag во время выполнения, за которым следуют «скрыть» и «показать», чем можно уменьшить влияние QDialog, оно исчезает, а затем снова отображается.
Я не хочу, чтобы у пользователя был эффект переключения на QDialog, любезно предложите.
Спасибо,
Я получил бы дизайнер UX на борту. Я никогда не видел, чтобы диалог менял свою модальность, пока он открыт, поэтому IMHO - это признак того, что общее взаимодействие с GUI должно быть проверено дважды. – peppe