Как сделать дополнительное окно

Добавил пользователь Владимир З.
Обновлено: 05.10.2024

Нужно сделать окно, которое при нажатии на кнопку будет открываться второе окно (для добавления нового файла). Допустим будет кнопка "добавить" при нажатии будет высвечиваться\открываться второе окно, в котором нужно будет заполнить несколько текстовых блоков, и при нажатии сохранить, всё это сохраниться в тхт файле. В общем, просто о том как создать второе окно в виндовс форм. Что-то вроде диалогового окна с кнопкой.


1 ответ 1

Создаете новую форму, добавляете туда все, что вам нужно, далее в главной форме на кнопку "добавить" пишите :

Связанные

Похожие

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2022 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2022.1.24.41238

Корневой экземпляр Tk представляет собой основное окно графического интерфейса. Когда он уничтожается, приложение закрывается, а основной цикл завершается.

Но есть в Tkinter и другой класс, который используется для создания дополнительных окон верхнего уровня. Он называется Toplevel . Этот класс можно использовать для отображения любого типа окна: от диалоговых до мастер форм.

Начнем с создания простого окна, которое открывается по нажатию кнопки в основном. Дополнительное окно будет включать кнопку, которая закрывает его и возвращает фокус в основное:

Открытие дополнительного окна

Класс виджета Toplevel создает новое окно верхнего уровня, которое выступает в качестве родительского контейнера по аналогии с экземпляром Tk . В отличие от класса Tk можно создавать неограниченное количество окон верхнего уровня:

Как работают всплывающие окна

Определяем подкласс Toplevel , который будет представлять собой кастомное окно. Его отношение с родительским будет определено в методе __init__ . Виджеты добавляются в это окно привычным образом:

Окно открывается за счет создания нового экземпляра, но чтобы оно получало все события, нужно вызвать его метод grab_set . Благодаря этому пользователи не будут взаимодействовать с основным окном, пока дополнительное не закроется:

Обработка закрытия окна

При определенных условиях может потребоваться выполнить определенное действие до закрытия окно верхнего уровня: например, чтобы пользователь не потерял несохраненную работу. Tkinter позволяет перехватывать этот тип событий, что позволяет уничтожать окно только при определенном условии.

Будем заново использовать класс App из прошлого примера, но изменим класс Window , чтобы он показывал диалоговое окно для подтверждения перед закрытием:

Обработка закрытия окна

Этот метод-обработчик показывает диалоговое окно для подтверждения удаления окна. В более сложных программах логика обычно включает дополнительную валидацию.

Как работает проверка закрытия окна

Метод bind() используется для регистрации обработчиков событий виджетов, а метод protocol делает то же самое для протоколов менеджеров окна.

Обработчик WM_DELETE_WINDOW вызывается, когда окно верхнего уровня должно уже закрываться, и по умолчанию Tk уничтожает окно, для которого оно было получено. Поскольку это поведение перезаписывается с помощью обработчика confirm_delete , нужно явно уничтожить окно при подтверждении.

Еще один полезный протокол — WM_TAKE_FOCUS . Он вызывается, когда окно получает фокус.

Стоит запомнить, что для сохранения фокуса в дополнительном окне при открытом диалоговом нужно передать ссылку экземпляру верхнего уровня в параметре parent диалоговой функции:

В противном случае диалоговое окно будет считать родительским корневое, и оно будет возникать над вторым. Это может запутать пользователей, поэтому хорошей практикой считается правильное указание родителя для каждого экземпляра верхнего уровня или диалогового окна.

Передача переменных между окнами

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

Основное окно будет включать три кнопки-переключателя для выбора типа пользователя, а второе — форму для заполнения его данных:

Передача переменных между окнами

Для сохранения пользовательских данных создаем namedtuple с полями, которые представляют собой экземпляр каждого пользователя. Эта функция из модуля collections получает имя типа и последовательность имен полей, а возвращает подкласс кортежа для создания простого объекта с заданными полями:

Замена глухой створки на открывающуюся

Нередко спустя некоторое время после установки окон заказчики понимают, что глухая створка мешает полноценной эксплуатации конструкции, и для исправления ситуации на ее место необходимо установить активную. Однако пока что мероприятия по модернизации проводит лишь незначительный процент владельцев окон, нуждающихся в такой замене. Это связано с недостаточной информированностью – многие считают такую процедуру невозможной, и мечты о комфорте так и остаются мечтами. Между тем существуют технологии, позволяющие за разумную стоимость адаптировать окна под текущие потребности и улучшить их эксплуатационные характеристики.

Балконный блок с замененной глухой створкой на активную

По каким причинам может потребоваться замена глухой створки на активную

Эксплуатационные возможности новых окон могут не соответствовать ожиданиям владельцев по разным причинам. Основные из них – желание самих заказчиков сэкономить на фурнитуре и плохо продуманная конструкция. Вследствие этого чаще всего возникают сложности:

  • при вентиляции внутренних помещений;
  • в процессе мытья окон;
  • из-за нарушения требований по пожарной безопасности, которыми предусмотрена возможность покинуть помещение через окна.

В некоторых ситуациях при наличии проблем с вентиляцией можно избежать серьезных мероприятий, связанных с установкой активной створки. Для этого понадобится интегрировать в раму специальный приточный клапан. Это устройство обеспечивает постоянный приток свежего воздуха во внутренние помещения даже при закрытом окне.

Приточный клапан для ПВХ окна

Что потребуется сделать при смене створок

При проведении такого мероприятия необходимо изготовление новой активной створки. Именно она интегрируется в проем на место глухой, откуда извлекается старый стеклопакет. Способ открывания обновленного окна зависит от того, какая была выбрана фурнитура. На текущий момент производители предлагают два варианта:

Поворотно-откидная фурнитура для ПВХ окна

Чаще всего клиенты решают оснастить новый элемент оконной конструкции поворотно-откидной фурнитурой. Это правильный выбор, поскольку в таком случае можно выбирать разные режимы проветривания. Однако сегодня появилось еще одно устройство, которое рекомендуется установить на окна с поворотно-откидной системой открывания. Речь идет о механизме микрощелевого проветривания. Это полезное и очень удобное устройство позволяет обеспечить постоянный приток свежего воздуха даже в осенне-зимний период без риска остудить комнаты.

Если проблемы связаны только с невозможностью помыть окна, в некоторых случаях можно обойтись заменой обычных стеклопакетов на самоочищающиеся. У этих изделий грязь с наружных стекол удаляется без вмешательства человека.

Что делать, если глухое окно слишком большое

В случае если проем имеет большую площадь, створки окон окажутся слишком тяжелыми и габаритными. Это также затруднит эксплуатацию конструкции, поэтому в таких случаях рекомендуется предпринять дополнительные меры. Самый логичный и правильный вариант – поделить проем на две отдельные секции. В таком случае в раму могут быть интегрированы:

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

Двухстворчатое окно с импостом

Процедура замены створок

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

Вы когда-нибудь сталкивались с ситуацией, когда увеличив изображение и отредактировав его часть, возвращаетесь к исходному масштабу и видите, что теперь фотография в целом выглядит не так, как вы хотели? Если да, то я хотела бы предложить вам простое решение, которое поможет вам избежать подобной ситуации.

Открытие нового окна

Открыв изображение в Photoshop, перейдите в строке меню к Window > Arrange > New Window for (название файла вашего изображения). Если вы используете русифицированную версию Photoshop, то ваш путь будет выглядеть следующим образом: Меню>Окно>Упорядочить>Новое окно для (название файла вашего изображения). В результате этого действия откроется вторая вкладка, содержащая копию вашего изображения:

Как настроить 2 окна для одного изображения в Photoshop

Упорядочение окон

В строке меню перейдите: Window > Arrange > 2-up Vertical (или любому другому варианту ориентации, наиболее подходящему для вашего изображения). В русифицированной версии: Окно>Упорядочить>2 вверх (если вы не обнаружили в меню такой вкладки, взгляните на панель инструментов в строке меню – выпадающее меню Упорядочить документы – именно то, что вам нужно).

Как настроить 2 окна для одного изображения в Photoshop

Итак, теперь у вас рядом с друг другом расположены два окна с одинаковыми изображениями:

Выбор варианта изменения масштаба

Если вы хотите одновременно изменять масштаб обоих изображений – установите флажок в чек-боксе Zoom All Windows (Во всех окнах) в строке меню. Этот чек-бокс появляется при выборе инструмента Масштаб. Если же вы хотите изменять масштаб изображения в каждом окне независимо от другого, то снимите этот флажок.

Как настроить 2 окна для одного изображения в Photoshop

Обычно я оставляю одно изображение с масштабом 50%, а второе подгоняю под размер экрана. Таким образом, при работе с увеличенным изображением я могу одновременно наблюдать за тем, как результат моей работы отражается на всём изображении в целом.

Как настроить 2 окна для одного изображения в Photoshop

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

Автор и изображения: Нисси Вайденер

Читайте также: