Управлять экранным буфером в Python - PullRequest
1 голос
/ 14 ноября 2009

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

Ответы [ 2 ]

2 голосов
/ 15 ноября 2009

Вместо того, чтобы «затереть» рабочий стол, попробуйте наложить серое, полупрозрачное изображение на весь экран, а затем убедитесь, что ваше окно поверх этого. Вы можете столкнуться с несколькими незначительными ограничениями; например, я не знаю по макушке, можно ли наложить мак-менубар (и я не уверен, что вы захотите).

2 голосов
/ 15 ноября 2009

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

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

Например, есть способ вывести ваше приложение на передний план (примеры, приведенные в ответе, приведены на C ++, но эквивалентные методы доступны на Python, и код будет очень похож).

Qt изначально был фреймворком C ++, недавно приобретенным Nokia, если вы также знакомы с этим языком, вы должны продумать его, прежде чем решить, какой выбрать, но в любом случае PyQt не подведет вас. , вполне зрелый и стабильный.

Что касается лицензии, то, если вас это беспокоит, PyQt является лицензией GPL, а также доступна коммерческая лицензия. Еще один перенос Python Qt находится в разработке с лицензией LGPL, которую Nokia подтолкнула после отказа автора PyQt изменить свою лицензию: PySide , но она все еще находится на ранней стадии разработки.

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

...