【问题标题】:OSX-like toolbar in window chrome?窗口镶边中类似 OSX 的工具栏?
【发布时间】:2012-10-06 09:51:40
【问题描述】:

许多 OS X 应用程序在菜单栏的镶边中使用某种图标化选项卡来显示它们的首选项对话框。对于 wxPython 应用程序,我想创建这样的首选项对话框。 Dropbox 似乎正在使用 wxPython(另见屏幕截图),那么我将如何自己创建这样的对话框?

更新:在摆弄wx.Frame.CreateToolBar 之后,框架开始与原始框架相似。但是,单选按钮的样式(我可能需要wx.Notebook)不是它应该的样式。另请参阅上图中“常规”选项卡的渐变和边框。 (source code)

【问题讨论】:

  • 你让它工作了吗?包括渐变?
  • 最后我们关闭了这个项目。如果您真的需要原生 GUI,请坚持使用原生工具。
  • 太可惜了!我希望有一个解决方案。

标签: macos wxpython


【解决方案1】:

我很确定 Dropbox 不使用 wx,但你可以使用 wx 获得这个本机工具栏。您必须使用 ctypes 并加载一些核心和碳框架。

wx wiki 中有一个article 说明如何操作

【讨论】:

  • 有人谈论使用 wx 的 Dropbox,但它可能是错误/过时的信息。尽管如此,您链接到的文章使用了已弃用的 Carbon,而 wxPython 2.9 使用了 Cocoa。也无法使用两个框架的重定位路径使示例正常工作。
  • 我使用的是 2.8- 但我很确定该示例在 2.9 下可以正常工作
  • 根据 Robin Dunn(wxPython 的制造商)的说法,Dropbox 使用 wxPython 进行设置向导、首选项对话框、任务栏图标等) - wxpython.org/blog/2009/03/09/time-to-kick-myself-again
  • @Mike 他们曾经使用过,但我认为他们不再使用 wx(我在最新版本的安装中找不到任何 wx 位)
  • @GP89 ​​已重试,但无济于事。 AttributeError: dlsym(0x7f8378487260, GetWindowToolbar): symbol not found 在 OSX Mountain Lion 上。另请参阅我的可运行代码更新,它可以工作,但仍需要一些工作。
【解决方案2】:

我认为你想要的是一个自定义的 wx.Dialog,里面有一个 wx.Toolbook。示例请参见 wxPython 演示包,或者您可以阅读我的教程:http://www.blog.pythonlibrary.org/2009/12/03/the-book-controls-of-wxpython-part-1-of-2/3/

更新:我不确定这是否仍然适用,但有一个 wiki 条目听起来很像 OP 想要的:http://wiki.wxpython.org/NativeMacOSXToolbarSelection

【讨论】:

  • 谢谢,但是wx.Toolbook 没有创建本机工具栏,这是我想要实现的。另请参阅带有详细问题的更新问题。
猜你喜欢
  • 2014-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多