Использование функций панели задач Windows 7 в PyQt

Вы ищете HttpContext.Handler. Так как Страница реализует IHttpHandler, Вы получите ссылку на в настоящее время выполняющуюся страницу. Необходимо будет бросить его, или по крайней мере попытаться бросить его к конкретному типу, который Вы ищете.

HttpContext.Current просто возвраты одноэлементный экземпляр HttpContext. Поэтому это не и никогда не может быть, страница.

12
задан WrongAboutMostThings 15 November 2009 в 02:45
поделиться

2 ответа

Как сказал Quark, функциональность отсутствует в Qt 4.5, но вы можете вызывать API Windows непосредственно из Qt. Однако это требует небольшой работы.

  1. Новый API панели задач предоставляется через COM, поэтому вы не можете использовать ctypes.windll. Вам необходимо создать файл .tlb для доступа к функциям. Получите определение интерфейса для ITaskbarList из этого сообщения на форуме или из Windows SDK. Сохраните его в файл с именем, например, TaskbarLib.idl.

  2. Создайте файл .tlb. Вам, вероятно, понадобится Windows SDK или получите компилятор IDL где-нибудь еще.

     midl TaskbarLib.idl / tlb TaskbarLib.tlb
    
  3. Загрузите .tlb (вам нужны расширения Win32 для Python, http://python.net/crew/skippy/win32/Downloads.html ):

     импортируйте comtypes.client как cc
    cc.GetModule ("TaskbarLib.tlb")
    
  4. Создайте объект TaskbarList. Функция для установки индикатора выполнения находится в интерфейсе ITaskbarList3:

     import comtypes.gen.TaskbarLib as tbl
    панель задач = cc.CreateObject (
     "{56FDF344-FD6D-11d0-958A-006097C9A090}",
     interface = tbl.ITaskbarList3)
    
  5. Теперь вы можете вызывать функции API:

     панель задач.HrInit ()
    панель задач.SetProgressValue (self.winId (), 40,100)
    

Вот полный пример сценария . Источники: 1 2

23
ответ дан 2 December 2019 в 04:53
поделиться

Не реализовано в Qt 4.5, но в работах для Qt 4.6 появляется. PyQt не будет обертывать 4.6, пока не будет официально выпущен Qt 4.6, но вы можете поиграть с 4.6 снимками или проверить репозиторий Qt и посмотреть, поддерживает ли версия C ++ нужные вам функции . Если это так, PyQt 4.6 также будет поддерживать его.

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

3
ответ дан 2 December 2019 в 04:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: