桌面应用开发框架
- Windows
- C++: Qt, MFC, WTL, wxWidgets, DirectUI, Htmlayout
- C#: WinForm, WPF
- Java: AWT, Swing
- Python: Tkinter, wxpython, PyQt, PythonWin
- Pascal: Delphi
- aardio
- Visual Basic
- Linux
- C++: Qt, GTK+, wxWidgets
- Java: AWT, Swing
- Python: Tkinter, wxpython, PyQt, PyGTK
- Mac
- Objective-C: Cocoa
- swift: Cocoa
- C++: Qt
- Python: Tkinter, wxpython, PyQt
- 基于 Web 技术桌面开发
- 浏览器内核(渲染引擎)
- Trident: IE
- Gecko: Firefox
- WebKit: Safari
- Chromium: 基于 WebKit, Chrome
- Blink: WebKit 精简版
- Presto: Opera (已放弃,转为Webkit)
- JS引擎
- Mozilla: SpiderMonkey, TraceMonkey, JagerMonkey
- Google: V8 (nodejs 基于 V8)
- Microsoft: Chakra, JScript
- NW.js (node-webkit): 基于 Chromium, node.js, 通过 HTML 和 JavaScript 编写应用程序
- heX
- Electron
- 浏览器内核(渲染引擎)
macdeployqt 错误
ERROR: Unexpected prefix “@loader_path”
解决方法
which macdeployqt 确认位置
添加 qt.conf
内容:
[Path]
Plugins = PlugIns
生成APP
macdeployqt new.app
生成dmg
macdeployqt new.app -verbose=1 -dmg
知识点
Mac中的GUI应用必须以Bundle的形式运行,所谓Bundle,是一个以".app"结尾命名的文件夹,系统自动识别它为一个应用包,应用所有的东西(执行文件、链接的动态库、资源文件等等)都在里面了