Hug*_*ung 2 c++ macos cocoa qt cross-platform
我已经离开GUI编程很长一段时间所以请原谅我的无知.
我想尝试以下方法:
我相信这个配置可能会让我得到我正在寻找的东西:
再一次,抱歉我的无知,但这可能吗?这样理智吗?是否有任何真实的开源示例可以完成这样的事情?
有相当多的OS X应用程序具有完全定制设计的外观,不使用很多库存控件.想到了iStat Menus,但还有很多其他的例子.它们看起来仍然很好,但它是通过手动设计它们看起来很好并与OS X应用程序的整体外观"网格化"完成的.甚至他们的首选项窗格也不使用库存按钮.
因此,你可以使用Qt走得很远,你只需要密切关注你正在做的事情 - 类似于其他开发人员即使在使用Cocoa时也要密切关注的方式.您会发现Qt的控件提供的功能通常超出Cocoa提供的功能.
也就是说,在OS X上,有时您可能需要运行一些期望CFRunLoop存在的本机代码.很高兴知道Qt的事件循环已经为你旋转了一个runloop,所以只要你在给定的线程中有一个事件循环旋转,就可以使用基于runloop的代码 - 默认的runloop是由Qt的实现提供的QEventDispatcher(某处在它的胆量).对于非gui线程,未经修改的线程QThread为您完成.例如,这对于使用异步IOKit功能很有用.我的另一个答案提出了一些Cocoa鼠标事件抓取代码.使用Carbon的先前版本可以在该答案的编辑历史中找到.
同样适用于Windows:Qt为其拥有的所有顶级窗口运行消息接收器,您可以使用qtwinmigrate集成本机控件/窗口.您还可以使用Active Qt框架集成ActiveX控件.
| 归档时间: |
|
| 查看次数: |
767 次 |
| 最近记录: |