Qt+Windows,Windows 底层默认使用d3d还是opengl?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt+Windows,Windows 底层默认使用d3d还是opengl?相关的知识,希望对你有一定的参考价值。

具体来说,当在windows系统上使用Qt开发桌面程序(UI)时,即使没有用到3D Api,程序启动后都会加载d3d的运行库。似乎是说该程序在windows系统上渲染出来时使用的是d3d库。
那么问题来了,请问如何更改windows系统默认的图形库,设置默认图形库为GDI或者opengl,使得程序启动时不再需要加载d3d运行库呢?

参考技术A Qt是跨平台的.不用考虑底层在干啥.追问

您说的对是垮平台的,但是我需要它在windows下,不会load d3d runtime,否则会影响到后续的执行。
不知道有么有办法,让Qt开发的窗口程序,在windows下执行时,不使用d3d runtime.

docker在windows下和linux下网络底层的一些区别

windows和linux下的docker运行时的网络结构是有区别的

a.windows下,默认使用Hyper-v创建一个linux虚拟机,承载docker。所以从外向内的路径为:

windows -> linux系统的docker(hyper-v中) -> docker内的容器(应用)

其中docker desktop会默认创建一个网络DockerNAT,windows宿主分配IP:10.0.75.1

 linux虚拟机会分配IP:10.0.75.2,并且还另外会分配内部网段IP:172.17.0.1

然后docker内的容器会默认分配172.17.0.0网段IP,例如:

 可以看到网络路径为

10.0.75.1(windows) -> 10.0.75.2 / 172.17.0.1 (docker的linux虚拟机) -> 172.17.0.x(docker的内部容器)

所以这里需要注意:在容器内去访问windows宿主需要使用10.0.75.1。使用172.17.0.1访问的是linux虚拟机。

 

b.linux下,不需要另外创建虚拟机了。从外向内路径为:

linux -> docker内部容器(应用)

所以网络路径也变为更简单了

172.17.0.1(linux系统) -> docker内部容器(应用)

所以访问linux宿主直接用172.17.0.1就够了

以上是关于Qt+Windows,Windows 底层默认使用d3d还是opengl?的主要内容,如果未能解决你的问题,请参考以下文章

QT事件循环

如何伪造键盘移键。 Qt,Windows 10

Qt中判断windows系统位数

qt 编码问题

qt windows分发工具使用(windoployqt)

docker在windows下和linux下网络底层的一些区别