检测操作系统的PyQt API
我正在把一些代码从C++/Qt移植到Python/PyQt。
我该怎么处理
#ifdef Q_OS_WIN
...
#else
有没有PyQt可以替代Qt中的宏Q_OS_WIN?
3 个回答
0
要检查当前的操作系统是不是Mac电脑
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")
这段内容来自Mark Summerfield的书
我不知道具体怎么检查Windows,但如果上面两个测试都返回了None,那很可能这个系统就是Windows。
0
跟C++不一样,Python没有预处理器。这意味着你不能完全把某些代码块隐藏起来,让编译器或解释器看不见。
不过对于大多数实际情况来说,把相关的代码块放在一个Python的if
语句里面就足够了。
可以看看这个链接:Python: 我在运行哪个操作系统?
5
你为什么会想要这样做,而不是直接使用Python的 sys.platform
这个来自sys模块的功能呢?
import sys
if sys.platform == 'win32':
print("win")
else:
print("winner!")
我得提一下,不管你是在x64的Python上运行,win32
都是一样的。