Многооконный интерфейс и сообщения о состоянии

mnogookonnyj interfejs i soobshheniya o sostoyanii Почтовый клиент PyMailGUI Python

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

Рис. 14.46. Многооконный интерфейс PyMailGUI и текстовые редакторы

 

В целом одновременно может быть открыто любое количество окон для просмотра или составления сообщений, между которыми можно осуществлять операции копирования. Это важно, поскольку программа PyMailGUI должна обеспечить наличие в каждом окне отдельного объекта текстового редактора. Если бы объект текстового редактора был глобальным или использовал глобальные переменные, могло оказаться, что в каждом окне отображается один и тот же текст (а операции отправки могли бы привести к отправке текста из другого окна). Чтобы избежать этого, PyMailGUI создает и вставляет новые экземпляры TextEditor в каждое новое окно просмотра или составления сообщения и связывает новый редактор с обработчиком кнопки Send (Отправить), обеспечивая получение нужного текста. Это всего лишь действие обычного для ООП механизма сохранения состояния, но здесь он приносит ощутимую выгоду.

Во время своей работы PyMailGUI выводит множество различных сообщений о состоянии, но увидеть их можно, только если запустить программу из командной строки в консоли (например, в окне DOS в Windows или в xterm в Linux) или двойным щелчком на значке с именем файла (главным сценарием является файл с расширением .py, а не .pyw).

В Windows эти сообщения не будут видны при запуске PyMailGUI из других программ, таких как панели запуска PyDemos и PyGadgets. Эти сообщения о состоянии содержат информацию о сервере, показывают состояние загрузки почты и трассируют порождаемые попутно потоки загрузки, сохранения и удаления. Если вы хотите увидеть сообщения PyMailGUI, запустите ее из командной строки и наблюдайте:

C:\\PP4E\Internet\Email\PyMailGui> PyMailGui.py

user: PP4E@learning-python.com

loading headers

Connecting

b’+OK <24715.1275632750@pop05.mesa1.secureserver.net>’

load headers exit

synch check

Connecting

b’+OK <26056.1275632770@pop19.prod.mesa1.secureserver.net>’

Same headers text

loading headers

Connecting

b’+OK <18798.1275632771@pop04.mesa1.secureserver.net>’

load headers exit

synch check

Connecting

b’+OK <28403.1275632790@pop19.prod.mesa1.secureserver.net>’

Same headers text

load 16

Connecting

b’+OK <28472.1275632791@pop19.prod.mesa1.secureserver.net>’

Sending to[‘lutz@rmi.net’, ‘PP4E@learning-python.com’] MIME-Version: 1.0

Content-Type: text/plain; charset="us-ascii"

Content-Transfer-Encoding: 7bit

From: PP4E@learning-python.com

To: lutz@rmi.net

Subject: Already got one

Date: Fri, 04 Jun 2010 06:30:26 -0000

X-Mailer: PyMailGUI 3.0 (Python)

> Origin

Send exit

Можно также выполнить двойной щелчок на файле PyMailGui.py в окне менеджера файлов и наблюдать появившееся окно консоли DOS в Windows. Сообщения в консоли предназначены главным образом для отладки, но также они могут помочь понять, как действует система.

Подробности об использовании PyMailGUI вы найдете в окне со справкой (щелкните на полосе вызова справки в верхней части окна со списком сообщений на сервере) или в строке справки в модуле PyMailGUI- Help.py, описываемом в следующем разделе.

Использованная литература:

Марк Лутц — Программирование на Python, 4-е издание, II том, 2011

Каталог сайтов Всего.ру
Оцените статью
Секреты программирования
Добавить комментарий