网站首页 > 技术文章 正文
296. 使用QDir::setCurrent设置当前目录后,会影响程序中的所有相对目录的执行,导致可能的意外发生,一般相对目录都默认是可执行文件所在目录,所以如果程序中为了特殊处理临时调用了QDir::setCurrent设置过相对目录,建议处理完成以后立即切换回来。
```cpp
QDir::setCurrent("f:/");
QImage img(":/image/bg_novideo.png");
//结果图片保存在f:/1.jpg
img.save("1.jpg", "jpg");
img.save("./1.jpg", "jpg");
//下面是正确做法
//先记住之前的目录
QString path = QDir::currentPath();
QDir::setCurrent("f:/");
xxxxxxx执行任务
//重新设置回默认目录
QDir::setCurrent(path);
//结果图片保存在当前目录下
img.save("1.jpg", "jpg");
```
297. 大概从Qt6.4开始,如果项目中同时使用了QOpenGLWidget和QWebEngine浏览器控件,可能会出现QWebEngine加载网页黑屏的情况,6.4.3和6.5.3版本必现。根据官网的描述[https://doc.qt.io/qt-6/qquickwidget.html#graphics-api-support](https://doc.qt.io/qt-6/qquickwidget.html#graphics-api-support) ,你需要额外加一行代码。
```cpp
#include "qquickwindow.h"
int main(int argc, char *argv[])
{
QQuickWindow::setGraphicsApi(QSGRendererInterface::OpenGL);
QApplication a(argc, argv);
}
```
298. 现在现在新版的Qt都是需要在线下载,有时候下载到中途过程会遇到提示下载错误,很可能是部分插件模块对应服务器没有打包导致的,一般都是一些末尾带TP字样的模块,这些模块一般也不会用,所以如果想要安装成功,你需要到选择Qt版本和插件的地方,打开Additional Libraries节点,将那些用不上的尤其是TP结尾的都不勾选,再安装即可。
299. Qt中可以通过qputenv和qgetenv来设置和获取系统环境变量,既可以在代码中设置对应的值,也可以在系统环境变量中设置,比如windows系统环境变量中设置,相当于可以自定义字符串指定值,这样灵活性大大增强,有时候因为代码不能修改了,可以尝试去设置一个Qt认识的环境变量字符串值来产生效果。这里要特别提示的是,环境变量设置后一定要生效才能正常读取到,比如xp系统设置后可能要重启操作系统才能生效,还有一个是要重启QtCreator才能识别到最新的环境变量,可能是做了缓存机制。
```cpp
//设置每个窗口都有独立的句柄
QApplication a(argc, argv);
a.setAttribute(Qt::AA_NativeWindows);
//上面的方法是通过代码的方式设置/有时候已经是可执行文件/无法修改代码
//经过查阅代码得知会优先通过qgetenv读取是否有QT_USE_NATIVE_WINDOWS标志
//如果存在则按照QT_USE_NATIVE_WINDOWS变量的值进行赋值
//这种方法有个缺点/就是所有的Qt程序都会应用
```
300. 布局的setContentsMargins函数参数依次是左上右下,而qss中的margin依次是上右下左,很多人混搞混。
猜你喜欢
- 2024-10-27 FFMpeg-3、基于QT实现音视频播放显示
- 2024-10-27 Qt音视频开发28-ffmpeg解码本地摄像头(yuv422转yuv420)
- 2024-10-27 Qt音视频开发20-vlc内核动态保存录像文件(不需要重新编译源码)
- 2024-10-27 Qt音视频开发40-ffmpeg采集桌面并录制
- 2024-10-27 Qt音视频开发19-vlc内核各种事件通知
- 2024-10-27 Qt/C++音视频开发54-视频监控控件的极致设计
- 2024-10-27 Qt编写全能播放组件(支持ffmpeg2/3/4/5/6/Qt4/5/6)
- 2024-10-27 Qt/C++音视频开发49多级连保存和推流(同时保存到推流到多个平台)
- 2024-10-27 Qt音视频开发15-动态切换解码内核的设计
- 2024-10-27 WebRTC 实战: QT for Windows 多人音视频通话
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)