Qt QLineEdit 输入框不可编辑
1 | (1)调用lineEdit->setEnabled(false)。确实不可编辑了。不过路径太长时就只能看到后部分了。没关系,再想别的办法就是了。 |
Qt系统托盘
Qt include dylib on macOS
项目中都是通过 动态库 的方式来组合模块的,debug模式下没有啥问题,因为IDE给处理了很多东西,但是在release模式下,打包出来的应用就有问题了。其中涉及到可执行程序引用dylib ,dylib 之间的相互引用
参看依赖
1 | // path/file 你自己要查看文件的路径 |
一种是修改动态库之间的引用
b.dylib 里面引用到 a.dylib
1 | install_name_tool -change a.dylib @executable_path/path/a.dylib b.dylib |
可执行程序引用动态库
1 | install_name_tool -change "a.dylib" "@rpath/a.dylib" /path/exec |
其中 @executable_path
和 @rpath
还有 @loader_path
网上有不少说明,具体的就不再这里介绍了,有兴趣的可以自己去搜索看看。
如果不知道要那个库的连接,直接双击运行程序,看看提示的
image not found
信息是嘛,也就大概知道了。
关于Qt在Mac上的打包相关的内容,博客上也有,参考
Qt-macOS
相关的内容,由于涉及到的情况还算复杂一点,基本上我遇到的问题都得到了很好的解决,有需要的可以查看一下。
参考
Qt 项目集成 Mac Extension
Qt base64
1 | QString base64Encode(const QString &src) |
Qt-macOS
macOS 打包Qt 工程的问题
- https://doc.qt.io/archives/qt-4.8/deployment-mac.html
- https://blog.csdn.net/robert_cysy/article/details/93979746
- https://www.cnblogs.com/andrewwang/p/8536239.html
- https://blog.inventic.eu/2012/08/how-to-deploy-qt-application-on-macos-part-ii/
- https://codejamming.org/2018/deploy-to-macos
- https://stackoverflow.com/questions/9061354/deploying-qt-frameworks-with-mac-app-and-usage-of-otool
- https://stackoverflow.com/questions/33333628/how-can-i-bundle-a-dylib-within-a-mac-app-bundle-in-qt
- https://stackoverflow.com/questions/20909341/what-is-the-fastest-easiest-way-step-by-step-from-the-beginning-to-code-si/20918932#20918932
- https://blog.csdn.net/liuyez123/article/details/50462637
- https://www.qt.io/blog/2012/04/03/how-to-publish-qt-applications-in-the-mac-app-store-2
- https://doc.qt.io/archives/qt-5.11/osx-deployment.html
Qt关闭最后一个window窗口进程退出问题
1 | int main(int argc, char *argv[]) |
Qt报错 a missing vtable usually means the first non-inline virtual member function has no definition
报错 a missing vtable usually means the first non-inline virtual member function has no definition
1 | 添加 Q_OBJECT 时 记得添加 头文件 #include <QObject> |
报错: error: ‘staticMetaObject’ is not a member of ‘YOUR_CLASS_NAME’
1 | 多继承的话, public QObject 放在写继承那个位置的第一个 |
Qt 设置版本号
Qt 设置版本号
You can set the VERSION qmake variable in your pro file:
VERSION = 1.0.0.0
应用中想调用版本号可以这么设置
DEFINES += APP_VERSION=\"$$VERSION\"
代码中就可以使用 APP_VERSION 获取版本号了