Рубрики
Без рубрики

WXPYPHON: ObjectListView – Как дважды щелкнуть элементы

Получите практические, реальные навыки Python на наших ресурсах и пути

Автор оригинала: Mike Driscoll.

На днях я работал над проектом, где я использовал невероятный виджет объектаListView (обертка вокруг wx.listctrl), и я хотел добавить возможность дважды щелкнуть элемент элемента управления, чтобы открыть PDF. Я знал, что я прочитал где-то в Интернете о том, как делать такую вещь, но это было снова, чтобы найти эту информацию. Так что теперь, когда я знаю, я решил поделиться этим на этот раз. Я также покажу вам, как открыть файл PDF в Windows в качестве бонуса!

Копаться в код

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

Виджет ObjectListView (OLV) работает с объектами и словарями. Для этого примера мы создаем класс файла, который мы будем кормить нашу виджету OLV. Затем в классе панели мы создаем виджет OLL вместе с кнопкой просмотра. Чтобы получить двойной щелчок эффект, мы связываем виджет OLL TO wx.evt_list_item_axtived Отказ Это не очень интуитивно называемое событие, но он работает для ловли двойного щелчка. На самом деле сделать что-то с этим скриптом, вы захотите просмотреть папку, которая в нем есть PDF. Как только вы выбрали папку, getpdfs Способ называется.

В указанном методе мы используем модуль GLOC Python, чтобы искать PDFS. Если он возвращает некоторые, то мы обновляем наш список данных, добавив экземпляры файлового класса к нему. Теперь у вас должно быть что-то, что выглядит как скриншот, который вы видели в начале статьи. Теперь, когда вы дважды щелкните элемент, он распечатает путь PDF, а затем попробуйте получить окно cmd.exe Путь, используя Python’s ОС модуль. Затем он попытается вызвать 32-битную версию Adobe Acrobat Reader с парой флагов и путь к PDF с помощью модуля подпроцесса Python. Если все работают правильно, вы должны увидеть нагрузку Acrobat с выбранным вами PDF.

ПРИМЕЧАНИЕ. Я получаю WXPYDEPRECATIONWARNNNING, когда двойной щелчок обработчика событий. Я не совсем уверен, что это происходит, как говорится о ключевых событиях, но я просто думал, что мои читатели должны знать, что они могут просто игнорировать, что, поскольку я не верю, что это повлияет на них.

Я проверил этот код с помощью ObjectListView 1.2, WxPython 2.9.4.0 (Classic) и Python 2.7.3 на Windows 7.