Полностью стеклянный стиль Vista / 7 с wxPython - PullRequest
0 голосов
/ 10 ноября 2009

Возможно ли это? Я действительно хочу, чтобы моя программа wxPython (так как они работают только на Windows) использовала тему стекла.

Кроме того, если это возможно, есть ли способ сделать диалоги, которые выглядят как новые в Vista, без кодирования большого количества пользовательского контента?

альтернативный текст http://imgkk.com/i/soYWuf.jpg

Ответы [ 3 ]

2 голосов
/ 31 августа 2010

Немного поздно, но я все равно отвечу ...

Нет встроенного способа воспользоваться эффектом стекла в теме Aero в Windows с помощью wxPython. Тем не менее, вы можете взломать что-нибудь вместе с Win32 API. Две функции, которые вы ищете: DwmIsCompositionEnabled и DwmExtendFrameIntoClientArea. Просто используйте первый, чтобы проверить, включен ли Aero, затем вызовите метод GetHandle() в вашем окне и передайте результат в последний, чтобы получить эффект стекла.

Я никогда не использовал wxPython, поэтому он может быть более сложным, чем это (вам, возможно, придется сделать больше взаимодействия), но это должно помочь вам начать. Если вам нужна помощь по взаимодействию, посмотрите Программирование Win32 на Python .

1 голос
/ 11 ноября 2009

wxPython основан на библиотеке wxWidgets, поэтому его возможности основаны на возможностях wxWidgets.

Я не вижу на веб-сайте wxWidgets ничего о конкретном «стеклянном» интерфейсе, но я вижу, что он поддерживает текстуры, и элементы управления / формы можно сделать полупрозрачными . Вы должны быть в состоянии смоделировать стеклянный интерфейс без особых затруднений.

0 голосов
/ 31 августа 2010

wxPython должен копировать любую тему, которую поддерживают нативные виджеты ОС. Как это выглядит сейчас? Демонстрация wxPython выглядит правильно? Возможно, что манифест не был включен ... все, что я знаю, это то, что мои программы wxPython выглядят "правильно" в Windows 7, если я не использую общий виджет.

...