PyQt API для обнаружения ОС - PullRequest
2 голосов
/ 29 мая 2011

Я портирую некоторый код из C ++ / Qt в Python / PyQt.

Что мне делать с

#ifdef Q_OS_WIN
    ...
#else

Есть ли PyQt-эквивалент макроса Qt Q_OS_WIN?

Ответы [ 3 ]

3 голосов
/ 29 мая 2011

Почему вы хотите сделать это вместо использования Python sys.platform из модуля sys?

import sys
if sys.platform == 'win32':
    print("win")
else:
    print("winner!")

Я должен отметить, что win32 то же самое, даже если вы работаете на питоне x64.

0 голосов
/ 03 июля 2015

Чтобы проверить, является ли базовая операционная система Macintosh

import PyQt4.QtGui
MAC = hasattr(PyQt4.QtGui, "qt_mac_set_native_menubar")

Чтобы проверить, является ли базовая операционная система Linux / X11, BSD, Solaris

import PyQt4.QtGui
X11 = hasattr(PyQt4.QtGui, "qt_x11_wait_for_window_manager")

Из книги Марка Саммерфилда

Я не знаю какого-либо конкретного теста Windows, но если два приведенных выше результата вернули None, скорее всего, это система Windows.

0 голосов
/ 29 мая 2011

В отличие от C ++, в Python нет препроцессора. Это означает, что вы не можете полностью исключить блоки кода из просмотра компилятором / интерпретатором.

Однако для большинства практических целей достаточно поместить соответствующий блок кода в оператор Python if.

Взгляните на Python: На какой ОС я работаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...