【发布时间】:2010-04-01 14:42:53
【问题描述】:
我有一个基于 wxPython 的应用程序,我将它移植到 Mac OS X,因为我需要显示一些看起来像本机 mac 警报的警报,所以我使用 pyobjc 来做这个,例如
import Cocoa
import wx
app = wx.PySimpleApp()
frame = wx.Frame(None, title="mac alert test")
app.SetTopWindow(frame)
frame.Show()
def onclick(event):
Cocoa.CFUserNotificationDisplayAlert(0, 3, 0, 0, 0, "Should i mix wxpython and objc", "hmmm...",
"Cool", "Not Cool", "Whatever")
frame.Bind(wx.EVT_LEFT_DOWN, onclick)
app.MainLoop()
这样混用wx和objc代码有什么问题吗,有什么故障点吗?
【问题讨论】:
-
wxPython 在 Mac 中看起来不是原生的?那失败了!由于 wxWidgets 声称 "wxWidgets gives its applications a truly native look and feel because it uses the platform's native API"
-
它提供原生外观,但不允许微调,例如如果在消息框中我想要“恢复”而不是“确定”按钮,这是不可能的,否则我已经创建了一个我自己的对话框,这再次破坏了使用带有原生图标的原生消息框的目的
-
我认为在这种情况下,您应该向 wx 人员记录错误。为什么不应该将消息框的标题作为可选参数传入。
标签: python objective-c wxpython wxwidgets pyobjc