点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,麻烦点个在看或点个赞,感谢~
总结一下一些用到的模板,后续会有补充。
一、 常用的一些模板
1. 链接第三方库
①unix与Windows使用相对路径链接第三方库模板
unix{
contains(QT_ARCH, i386){
LIBS += -L$$PWD/Lib/Qsci/linux_x32/lib -lqscintilla2_qt5
INCLUDEPATH += $$PWD/Lib/Qsci/linux_x32/include
}
contains(QT_ARCH, x86_64){
}
}else{
contains(QT_ARCH, i386){
#32bit python
LIBS += -L$$PWD/lib/python/ -lpython37
INCLUDEPATH += $$PWD/lib/python/include
}
contains(QT_ARCH, x86_64){
#64bit
message(STATUS"********64********$$PWD/lib/python")
}
}
②Qt pro文件中定义变量并使用
DEFINES += PYTHON_VERSION_2
contains(DEFINES, PYTHON_VERSION_3) {
#32bit python3.5
message("***********PYTHON_VERSION_3**********")
}else{
message("***********PYTHON_VERSION_2**********")
}
③ unix 下 Qt 生成共享库设置名称及版本号
VERSION = 1.3.5
TARGET = mytest
TEMPLATE = lib
2. Linux 下Qt 一些文档路径
Linux 下Qt帮助文档路径
/opt/Qt5.5.1/5.5/gcc/bin 帮助文档路径
3. Qt 设置存储路径
#include <QDir>
QDir currentDir = QDir::current();
currentDir.cd("..");
currentDir.cd("ThreadClientSendPicture");
QString picturePath = currentDir.absolutePath();
// qDebug() << "~~~~~~~~~`" << currentDir.absolutePath();
4. Qt 读取图片转换为字节
m_picturePath = m_picturePath +"/auboi5.jpg"; //图片路径
QPixmap pix;
bool ret = pix.load(m_picturePath);
QBuffer buffer;
buffer.open(QIODevice::ReadWrite);
bool ret2 = pix.save(&buffer,"jpg");
QByteArray pictureByteArray = buffer.data();
if(ret2)
{
QString str = "read image finish!";
ui->textEdit->append(str);
}
//update 2020525
5. MessageBox 简要例子
QMessageBox::information(this, tr("Title"), tr("Are you sure delete it ?"));
//update 20211215
6. Qt pro中使用DEFINES来实现条件编译
contains(QT_ARCH, x86_64){
DEFINES += X86_64
}
!contains(DEFINES, X86_64){
message(hello world)
}
#代码中使用DEFINES 变量
#ifndef X86_64
#include <QWebView>
#else
#endif
二、 小结
自由有许多困难,民主亦非完美;
然而,我们从未建造一堵墙,把我们的人民关在里面,不准他们离开——《在柏林墙下的演说》肯尼迪 (美国前总统)
欢迎大家关注: