我的儿子刚刚在学校开始学习python,他必须在Mac OS上编写一个简单的程序。
代码是这个
import ctypes
def mBox(mode, message, title, style):
return(ctypes.windll.user32.MessageBoxW(mode, message, title, style))
MB_OK = 0
MB_OKCANCEL = 1
MB_ABORTRETRYIGNORE = 2
MB_YESNOCXL = 3
MB_RETRYNO = 5
MB_CANCELTRYAGAINCONTINUE = 6
MB_HELP = 16384
ICON_EXCLAIM = 48
ICON_INFO = 64
ICON_STOP = 16
IDOK = 0
IDCANCEL = 2
IDABORT = 3
IDYES = 6
IDNO = 7
result = mBox(None, "Do you know what you are doing?","Support",ICON_EXCLAIM | MB_HELP)
if result == IDYES:
print("user pressed Yes")
elif result == IDNO:
print("user pressed No")
elif result == IDCANCEL:
print("user pressed Cancel")
else:
print("unknown return code",result)
执行此代码后,将显示以下消息
Traceback (most recent call last):
File "/Users/KeeganBarretto/Documents/MESSAGE BOXES 5.py", line 25, in <module>
result = mBox(None, "Do you know what you are doing?","Support",ICON_EXCLAIM | MB_HELP)
File "/Users/KeeganBarretto/Documents/MESSAGE BOXES 5.py", line 5, in mBox
return(ctypes.windll.user32.MessageBoxW(mode, message, title, style))
AttributeError: module 'ctypes' has no attribute 'windll'
有人可以帮助他解决此问题。正如我提到的,他是python和学习的新手,是他计算机学习的一部分。
答案 0 :(得分:1)
该代码仅在Windows上有效,因为它是从Windows MessageBoxW
调用user32.dll
。