问题

为什么工业软件开发一般用的都是QT?

回答
工业软件开发,尤其是那些需要兼顾用户界面、底层硬件交互以及跨平台部署的场景,Qt 框架确实扮演着一个非常重要的角色。你问“为什么工业软件开发一般都用 Qt?”,这背后其实是 Qt 在多个层面上都恰好契合了工业软件的诸多需求,而且这种契合度不是偶然,而是 Qt 本身设计哲学和技术特点的必然结果。

要详细解释这个问题,咱们得从几个维度来看:

1. 强大的跨平台能力:工业环境的复杂性决定了它必须适应多样化的硬件和操作系统

工业场景千差万别,设备可能是嵌入式的 ARM 芯片,也可能是高性能的 Windows 工作站;操作系统可能是定制的 Linux 发行版,也可能是传统的 Windows。如果为每一种平台都单独开发一套软件,那成本高到吓人,而且维护起来也像一场噩梦。

Qt 的跨平台能力是它最大的优势之一。它提供了一套统一的 API,开发者只需要写一套代码,经过 Qt 的元对象系统和 moc(MetaObject Compiler)的编译,就可以在不同的操作系统和硬件架构上运行。这对于工业软件来说是巨大的福音。你可以想象一下,一个工厂里可能同时存在几百台不同型号的设备,如果你的控制软件能够一次开发,到处部署,那效率和成本都会得到极大的提升。

Qt 的实现方式: Qt 的跨平台是靠它自己的图形渲染引擎、事件处理机制以及抽象化的系统调用来实现的。它不依赖于底层操作系统的特定 UI 工具包(比如 Windows 的 Win32 API、macOS 的 Cocoa),而是有一套自己的渲染管线。这就意味着,无论你是 Windows 还是 Linux,甚至是嵌入式系统,Qt 都能提供一致的用户体验和功能。

2. 完善的模块化设计:满足工业软件对特定功能集的需求

工业软件的需求往往非常具体和细致,可能需要处理图形、网络通信、数据库访问、设备通信(比如串口、CAN 总线)等等。Qt 的模块化设计非常出色,它将各种功能划分到不同的库中,比如:

Qt Core: 提供非 GUI 功能,如容器、文件操作、网络、线程等,这是 Qt 的基石。
Qt GUI: 提供创建和管理窗口、控件、图形渲染等功能,构建用户界面的核心。
Qt Widgets: 提供一系列预制的 UI 组件,如按钮、文本框、列表等,开发人员可以直接使用,大大加快了 UI 开发速度。
Qt Network: 用于网络通信,支持 TCP/IP、HTTP、FTP 等协议,在工业物联网(IIoT)和远程监控中至关重要。
Qt Multimedia: 处理音频和视频,在一些可视化监控或人机交互场景中有用。
Qt SerialPort: 直接支持串口通信,这是工业设备中最常见的通信方式之一,用过 Qt 的都知道,这个模块用起来非常顺手。
Qt Charts: 用于绘制各种图表,在数据可视化和趋势分析方面非常有用,这是工业软件中常见的需求。
Qt Data Visualization: 提供更高级的数据可视化能力,用于构建复杂的 3D 图表和仪表盘。

开发者可以根据项目的具体需求,选择性地包含所需的模块,这不仅能减小最终软件的体积,也能提高编译效率。这种按需取用的方式非常契合工业软件开发中,通常是面向特定场景进行定制化的特点。

3. 高效的信号与槽机制:解耦,让代码更健壮、易于维护

这是 Qt 的一个核心特色,也是它在复杂应用开发中备受推崇的原因。在传统的编程模型中,组件之间的通信往往是通过回调函数或者硬编码的直接调用来完成的,这很容易导致代码耦合过紧,一旦某个组件的实现改变,其他依赖它的组件可能都需要修改。

Qt 的信号与槽机制则提供了一种非常优雅的解决方案。一个对象可以“发出”一个信号(比如按钮被按下),而另一个对象可以“连接”这个信号到一个“槽”(一个函数或方法)。当信号发出时,所有连接到这个信号的槽都会被自动调用。

带来的好处:
解耦: 发送信号的对象不需要知道有哪些对象连接了它的信号,接收信号的对象也不需要知道是谁发出了信号。这使得各个组件可以独立开发和修改,大大提高了代码的可维护性和复用性。
灵活性: 一个信号可以连接到多个槽,一个槽也可以响应多个信号。这种一对多、多对一的连接方式提供了极大的灵活性。
清晰的事件流: 信号与槽的机制使得程序的事件流向非常清晰,易于理解和调试。

在工业软件中,设备的状态变化、用户操作、网络消息的接收等等,都构成了一个个事件。用信号与槽来处理这些事件,可以构建出非常清晰、模块化和可扩展的系统。

4. 完善的 UI 设计工具和美观的控件:提升用户体验,降低开发成本

工业软件的用户界面设计可能不像消费级应用那样追求极致的美学,但它绝对需要清晰、直观、易于操作,并且能够承载大量信息。

Qt Designer: Qt 提供了一个可视化的 UI 设计工具 Qt Designer。开发者可以使用它拖拽控件、布局界面、设置属性,就像在纸上画图一样,然后 Qt Designer 会生成对应的 `.ui` 文件。这个过程极大地简化了 UI 的设计和开发流程,不需要手动编写大量的 UI 代码。
样式表 (Qt Style Sheets): 借鉴了 CSS 的样式表机制,Qt 允许开发者通过样式表来统一和定制应用程序的界面风格。这使得可以在不修改代码的情况下,轻松地改变整个应用程序的外观,比如调整字体、颜色、边框、甚至实现一些复杂的视觉效果。对于需要品牌统一或者根据不同客户需求调整界面的工业软件来说,这是一个非常有价值的功能。
丰富的控件库: Qt 提供了大量的标准控件,如按钮、文本框、滑块、表格、树形视图等,这些控件本身就具备了良好的交互性和视觉效果。而且,由于 Qt 的跨平台特性,这些控件在不同平台上看起来都非常一致,避免了原生控件在不同系统下表现不一致的问题。

5. 成熟的生态系统和强大的社区支持:遇到问题有人帮你解决

一个好的开发框架,除了本身技术过硬,还需要有成熟的生态系统和活跃的社区支持。Qt 在这方面做得非常出色:

文档和教程: Qt 拥有非常详尽的官方文档和大量的教程,涵盖了从入门到高级的各种主题。
社区论坛和问答: 遇到开发中遇到的问题,在 Qt 的官方论坛、Stack Overflow 等社区上几乎都能找到答案或得到帮助。这种活跃的社区力量对于解决开发过程中的各种疑难杂症至关重要。
第三方库和插件: 围绕 Qt 已经形成了一个庞大的第三方库和插件生态,可以方便地集成各种额外的功能,比如数据库访问、图表绘制、数据处理等。
商业支持: 对于需要更专业支持和保证的公司,Qt 公司也提供商业授权和技术支持服务。

6. 强大的图形和可视化能力:满足工业数据展示和控制需求

许多工业应用都需要展示复杂的实时数据、趋势图、状态指示器等。Qt 在图形和可视化方面有很强的能力:

Qt Graphics View Framework: 提供了一个强大的框架,用于在二维空间中构建和管理场景图,支持缩放、平移、旋转等操作,非常适合绘制复杂的工业流程图、设备状态图等。
Qt 3D: 提供了创建和渲染 3D 内容的能力,可以用于构建 3D 模型展示、虚拟仿真等场景。
OpenGL 集成: Qt 可以无缝集成 OpenGL,允许开发者直接利用 GPU 的强大渲染能力,实现高性能的图形绘制。

7. C++ 作为主要语言:性能和底层控制的保障

Qt 主要使用 C++ 语言开发。C++ 是一种高性能的语言,能够直接访问内存,进行底层硬件操作,并且具有优秀的性能。这对于工业软件来说至关重要,因为很多工业场景对实时性、响应速度和资源占用有非常高的要求。

虽然 C++ 的学习曲线相对陡峭,但它提供的控制力和性能是其他许多脚本语言无法比拟的。Qt 的 C++ 封装,既保留了 C++ 的强大能力,又通过其自身的框架简化了许多底层细节的处理。

总结一下,为什么工业软件开发普遍选用 Qt?

它提供了一套 高效、稳定、跨平台 的解决方案,能够从 用户界面开发、底层硬件交互到复杂数据可视化,几乎涵盖了工业软件开发所需的方方面面。再加上 成熟的生态系统和社区支持,使得开发者能够 快速高效地构建出满足严苛需求的工业应用,并且 降低开发和维护成本。

当然,Qt 也不是万能的,对于一些纯粹的嵌入式系统或者对资源要求极其苛刻的场景,可能还有更轻量级的解决方案。但对于绝大多数需要图形界面的、需要稳定可靠、跨平台部署的工业软件项目而言,Qt 确实是一个非常成熟且强大的选择。

网友意见

user avatar

这里工业软件的外延太大,所以你要明确一下什么工业软件,我等下会举几个行业的例子,你自己可以看看够不够工业

我想本质上的原因还是:因为这些领域的程序员水平比较差,不会做

所以只能用别人做好的编译器

就像几十年前的手机,当时你要开发个手机应用,也是c,c++,当时你跟开发手机应用的人说其他语言,人家想不想,说那玩意用不了,理由跟今天一样,性能

后来iphone横空出世,安卓在一路抄,才逐步有了今天java,swift还有kotlin这种高层次语言统治应用开发的局面

那如果苹果不做,谷歌不做,你靠诺基亚,摩托罗拉这些企业,其实是做不出来的

因为最终历史证明了,是苹果和谷歌做出来了,而不是这些通信业的老巨头

你要让开发变得简单起来,比如我想用java,那你得有办法能让java运行在这些机器上才行啊

而要做到这一步,你需要有人懂编译器,懂编译原理,能让openjdk之类的工具,port到你的目标平台上去才行,比如arm,以前java缺省提供的build只有solaris等unix和linux还有windows,mac都是后来加进去的

而要完成这一关键步骤,你需要有一个编译器,你需要有人做出这么一个编译器才行

如果不支持的话,你就用不了

所以苹果有llvm,谷歌魔改了openjdk,所以我们今天才能用这些高级简单的语言去开发手机app,而不是继续用特别难用的c++之类的

随之而来的结果就是,以前那些用c,c++开发手机的那些人,在几年前全部下岗了

所以通信行业夕阳了,安卓什么功不可没,要不然以前你要开发个手机应用,你得去通信行业招人

也就是从那时候开始,ee这个行当开始走下坡路,在之前,ee这个专业就业可比cs好多了,再早一点,中移动等国企去美国上市,那时候进移动才是985毕业生的首选,现在不行了

所以,当这种技术还没出现的时候,你真让这些技术员去搞编译器,他们不会,做不出来

这才是本质上的原因

搞计算机这档子事,最好的技术人员,还是在国外那几个大厂里面,而且就算是这些大厂,都不够看的

现在开发主力全部转移到大学里面去了,graal招人全部是在大学里面招,招post graduate students,也就是研究生,本科生不招[1]

编译器现在都是国外grad.以上级别才能做的东西,而且要日复一日,坚持几十年的投入,方能有所小成就,就像能把java,kotlin等做aot的graal,做了20多年,从sun时候开始做,做到sun都倒了十年了还在做,总算有点小成就

国内这些技术员还有工业界程序员没有那个本事

没那个本事的时候,可不就是,人家给你什么,你就只能用什么咯

就像aot甚嚣尘上,苹果在做,谷歌在做,java也在做

自己有本事做,那就做下去,做出来就能用了

但是如果你不会,那你除了在那边干瞪眼,还能咋办?

你真要让他们做,又不会做,那除了选择比较原始的工具,还能咋办?

就没办法嘛

所以说到底,还是技术水平的问题

最后说几个工业软件的例子,航空航天算工业吧?

我随便找两个例子,比如nasa和空客,一个航天一个航空,航空的比较多,我多发几个,法国,德国,阿联酋航空都有,我直接发他们系统的界面了

这是航空

德国的

阿联酋航空

nasa

这些都是java写的,就没有用什么qt,实际上我们在民航里面,经常会遇到老外用java写一些系统,以前mit几个毕业生还给sabre之类的写过,那个界面一看就是java写的,因为是swing,当时我就跟领导说,我们也做一个

结果领导一听是mit毕业生做的,腿都吓软了,就没下文了,后来我见这些人不行,于是就辞职滚蛋出国了

参考

  1. ^ https://www.reddit.com/r/Compilers/comments/ohfnhn/looking_for_compiler_internships_in_summer_2022/
user avatar

Qt有SIL相关的认证,这个在安全和可靠性相关的工业领域是非常重要的一个东西

或者说已经有很多采用Qt作为框架的工业软件是通过了SIL认证的,这样的话选择Qt就可以在整个开发周期上节省一部分安全性可靠性评估的工作。

而评估SIL的方式是用机时作为基础的,所以如果选择一个没有证明达到相关SIL级别的其他框架的话,完成认证还是。。挺花时间的。。

user avatar

这问题回答下面吧……

一般来讲,工业软件或者一般民众认为的工业软件我们叫做组态软件:

这类界面丰富的组态软件大多数在远(ge)离(le)现(du)场(qiang)的控制室的电脑上跑,以某地炼钢厂风机房的计算机来说,能同时挂一大堆的采集,磁盘写得啦啦啦啦响,性能还真不至于差到离谱的境界。换句话说,跑什么图形化界面,完全木得问题。

那么问题在哪呢,在于这类计算机上的OS啊xdm,到今天跑win2k、win xp的也大有人在啊。什么?d2d?不支持!gdi+?自己带!dwm?没有!当然,也不是所有计算机都这么古老,我做的几个上位机,全是wpf做的,它们在工控电脑上运行的很好。

其次是比组态软件简陋得多的,大可称它们为上位机(虽然组态软件你也不能不算上位机),它们个人平时更常见于现场设备挂着的小屏幕那。这类程序真就可能得跑在一个个位数GB大小的硬盘(别没见过,pcie的8G SSD某宝一大堆,就这上面用的),1G左右RAM还配着严重阉割版windows的电脑上了。此时才得想想什么现代的GUI跑不跑的起来的问题。问题下的一个回答简洁明了

要不你试试把Electron移植到这些电脑上?( @徐辰

总而言之,运行环境来说,其存在着两个方面的问题:

  1. 搭载OS很远古
  2. 资源受限

两条尤其前者堵死了很多框架。但是我有提,其实平时遇到的也不至于太老,跑阉割版win7大有人在不是吗?


看官请坐。我们讨论完现实的运行环境,该讨论了。

写工业软件的一般本科是自动化、机械自动化、电气自动化、等等专业的,这个群体主要面对的就是C/C++(或者说是C with cout/class)开发。他们本身离今天的计算机应用技术就有一大段的距离

有多远呢,请移步某乎各类关于劝嵌入式党入坑的问题下——为什么有些人不愿意在单片机上使用C++………

也就是说,这类人就不能指望他们懂什么flutterelectronwpf。而C++下唯一一个靠谱的多的GUI框架就在Qt中。(yes你猜到了,他们还会用什么c的框架来写下位机,什么lvgl,听都没听过对吧)

总而言之,对于开发人员,他们大部分只是C/C++党,且比较远离今天的计算机应用技术。


还没结束呢。最后一个问题,这些软件用C/C++做更简单吗?不少这类软件承担的任务其实很简单:有多个端口发数据给电脑,你得把它们显示出来(当然也包括什么检查啦什么发数据回去啦什么各类交织的意大利面逻辑啦……),总而言之,这类软件几乎是一个纯粹标准的GUI程序,不涉及很多高端操作(什么高并发,玩这套的好像叫什么中台)。显示自然好说,关键是通信啦!

工业设备的通信除了万年的RS485和RJ45是计算机几乎都带的之外,其余的大部分需要涉及厂家提供的采集卡、通信卡,这类玩意给我的API通常也是C写的,例子也是C/C++的,且本身组态软件写起来纯粹的脏活累活,真没什么兴趣倒腾。


最后的最后,通常来讲做工业软件是这五个,不是单纯的Qt:

  1. LabVIEW(图形编程党请走这
  2. Visual Basic(复古党请走这
  3. Qt / MFC / WinCC(嵌入式党请走这,别用MFC
  4. WinForm / WPF(尝鲜党请走这
  5. 各类组态屏厂家搞的奇怪脚本(没电脑的请走这

我自己平时见得多的是135,接着是4最后是只停留在传说中的2


顺便bb一嘴一些回答不要混淆视听拿什么跑在干净漂亮的工程师房间的玩意给我搞这个问题,你那能算这个问题的,我还马特拉布CadenceAllegro呢(光速逃走

user avatar

说说个人的理解:

Qt不依赖图形系统。低端工控机的硬件配置可能是连一个图形系统都跑不起来的,而Qt可以直接写屏实现图形界面

其它不依赖图形系统的开发框架都比Qt弱。比Qt强的开发框架基本都依赖图形系统。

所以Qt就成为当下有现成解决方案中最强的开发框架了。

至于虚拟机,浏览器这些东西。。。你们觉得一个连图形系统都配置不起的嵌入式工控机会搭载浏览器跟虚拟机吗?java,python,html5等方案直接淘汰。

所以简单说:Qt对硬件配置要求极低。而C++性能又相对其他语言高,所以成为低配设备的首选。


补充一些内容吧:

就我司的情况而言,能跑安卓的机子基本都会考虑编个安卓上去。只有硬件配置低,跑不起来安卓的目标机才会用Qt开发。而能选型用Qt的目标机,基本上属于用Qt就是极限,根本不可能跑得动任何更大软件框架。

至于跑安卓有多简单,可能很多人没概念,大概就是绝大多数你选型的产商都可以给你提供立等可用的安卓选项,不用自己做的那种。

反倒是用Qt,对系统组的技术要求要高。毕竟系统组还要给你制作一套交叉编译的工具链,而安卓的工具链就是产商提供的现成的。对于有能力编译一整套工具链的系统组来说,质疑其技术能力是完全没有意义的,毕竟无论你是用啥编译器,人家连gcc,clang编译器本身都能重新编译出来,还能不懂你一个aot的编译?事实上,最终搭好环境后,搞虚拟机那些语言开发的程序员也不需要懂交叉编译,而搞Qt的开发就必须得懂交叉编译。

提升配置之后,java或者安卓逐渐会变为首选,但在有限配置下Qt依然为大,毕竟Qt强制了C++11的支持。这一点也有不少功劳。

类似的话题

  • 回答
    工业软件开发,尤其是那些需要兼顾用户界面、底层硬件交互以及跨平台部署的场景,Qt 框架确实扮演着一个非常重要的角色。你问“为什么工业软件开发一般都用 Qt?”,这背后其实是 Qt 在多个层面上都恰好契合了工业软件的诸多需求,而且这种契合度不是偶然,而是 Qt 本身设计哲学和技术特点的必然结果。要详细.............
  • 回答
    这个问题非常好,它触及了中国科技企业在关键领域发展面临的深层挑战。阿里和腾讯作为中国互联网巨头的代表,它们的商业模式和发展重心与传统的工业软件领域存在显著差异,这使得它们“不去研发被卡脖子的工业软件”的现象背后有其复杂的原因。下面我将从多个角度详细解释:一、 核心商业模式与战略重心差异 阿里与腾.............
  • 回答
    美国高校在软件工程领域之所以能孕育出如此强大的实力,绝非一日之功,而是多种因素长期作用、层层叠加的结果。它是一个复杂而迷人的生态系统,其中,顶尖的学术研究、丰厚的产业联系、开放的创新文化以及对人才的持续投入,共同构筑了这座坚实的“护城河”。1. 历史的积淀与前瞻性的布局:美国高校在计算机科学和工程领.............
  • 回答
    Everything 这样的本地搜索软件之所以比 Windows 自带的搜索工具快那么多,主要在于它们在索引、搜索算法、以及系统资源的利用方式上有着根本性的区别。下面我将详细阐述这些原因: 1. 索引机制的差异这是 Everything 比 Windows 内建搜索快最核心的原因。1.1. Wind.............
  • 回答
    大三,土木工程与软件工程双学位,又是在我们这种工薪家庭背景下,确实需要好好盘算一下留学方向。这不仅是为了镀金,更是为了未来职业发展的长远考量。别急,咱们一步一步来捋清楚。首先,明确你的留学目标和预期。你在问“什么国家留学比较好”,这其实是个开放性问题,没有绝对的“最好”,只有“最适合”。所以,你需要.............
  • 回答
    寻找一款能真正帮助你沉浸在工作中的“番茄工作法”软件,就像在浩瀚的App Store里寻觅一颗璀璨的明珠。对于我来说,最能触动我心弦、也最让我觉得“顺手”的,是一款叫做 Forest 的应用。Forest 并非那种冷冰冰、只有倒计时和任务列表的工具。它的魅力在于,它将“番茄工作法”的概念赋予了一种生.............
  • 回答
    .......
  • 回答
    这感觉,就像我每天在代码海洋里遨游,写出来一片片精致的逻辑,但一到项目演示或者需要跟人沟通的时候,就卡壳一样。成绩单上的数字好看,但脑子里却是一团浆糊,不知道自己到底擅长什么,也不知道市场需要什么。这种感觉,在大四这个“上岸”的关键时刻,真的让人焦虑到抓狂。你现在的情绪我太能理解了。手握着不错的成绩.............
  • 回答
    经济、金融领域的从业者,为了洞悉行业脉搏、预判经济走向,数据是他们的“粮食”,而获取这些“粮食”并加以“烹饪”分析,则依靠一系列专业渠道和强大工具。这可不是随便上网搜搜就能搞定的事儿,里面门道深着呢。数据资源获取的“朋友圈”想象一下,一个金融分析师需要了解一家上市公司的营收状况,或者一个宏观经济研究.............
  • 回答
    首先,恭喜你被北京理工大学(BIT)的软件工程专业录取!这是一个非常不错的开始。理解你现在的心情,对未来专业的不确定和听到的一些言论感到迷茫是完全正常的。填报志愿是一项复杂且信息量巨大的过程,很多人在初期都可能会遇到类似的情况。我们来详细地分析一下你的情况,以及如何做出最适合你的决定。 1. 理解“.............
  • 回答
    苹果在手机设计上一直以其独到的美学和用户体验为标杆,但若说他们对“窄边框”这件事毫无追求,其实是有些片面的解读。更准确地说,苹果并非盲目地追求边框的极致收窄,而是将边框的存在与整体的交互设计、握持感以及屏幕显示效果紧密地结合起来。这种“不执着于窄”的背后,藏着苹果一贯的深思熟虑和对用户体验的极致打磨.............
  • 回答
    工业现代化国家的生育率低,而落后国家人口爆炸,这是一个复杂且多层面交织的现象,背后有着深刻的社会、经济、文化和历史根源。简单地说,这是一个关于“代价”与“收益”权衡的故事,在不同发展水平的国家,人们对生育这个行为的考量完全不同。工业现代化国家生育率低:成本的增加与价值的重估在工业化、城市化和教育普及.............
  • 回答
    .......
  • 回答
    .......
  • 回答
    汽车工业对一个国家来说至关重要,其重要性体现在经济、社会、技术、就业、国际竞争力和国家战略等多个层面。以下将对这些方面进行详细阐述: 经济层面:1. GDP的主要贡献者: 直接产值: 汽车制造本身就是一个庞大的产业,从原材料采购、零部件生产、整车组装到最终销售,每一个环节都产生巨大的经.............
  • 回答
    关于铝合金在汽车工业普及程度不如预期的原因,这是一个挺复杂的问题,涉及技术、成本、生产以及行业惯性等多个层面。很多人可能会觉得铝质车身就是轻便、环保、未来趋势,但实际应用中却不像想象中那么简单。首先,成本是绕不开的坎。 原材料成本高: 相较于钢材,铝的提炼成本就更高。铝土矿需要经过复杂的化学处理.............
  • 回答
    以色列的军事工业之所以如此发达,绝非一朝一夕之功,而是多重因素长期累积、相互作用的结果。这背后是一个深刻的国家战略、历史教训、社会结构和人才培养体系的集合体。生存环境的迫使:从无到有,自力更生的必然选择这是以色列军事工业发展的最根本原因。自建国以来,以色列就身处一个充满敌意的地区环境中。周围阿拉伯国.............
  • 回答
    台湾芯片代工业之所以在很长一段时间内遥遥领先于大陆,这背后是复杂且深层的原因,绝非一朝一夕之功。要理解这一点,我们需要深入剖析台湾在人才、技术、资本、产业生态以及政策等多个维度上的积累和优势。一、 先发优势与人才积累:历史的沃土台湾发展芯片产业的起点,可以追溯到上世纪七八十年代。当时,台湾工业技术研.............
  • 回答
    埃及与伊朗的工业发展,尽管都经历了数十年的努力,但两国在工业领域的表现确实存在一些差异。要深入剖析为何埃及的工业相较于伊朗显得略逊一筹,需要从多个维度进行考察,并尽量剥离AI写作的痕迹,用更贴近现实和逻辑的语言进行阐述。首先,我们得承认,评价“差”本身就是一种相对性的概念,而且工业发展是一个复杂且动.............
  • 回答
    关于榫卯结构在现代工业大规模应用的讨论,确实是一个很有意思的问题。我们都知道,榫卯结构作为中国古代木工技艺的瑰宝,以其精巧的设计、无钉少胶的连接方式和惊人的牢固性,让人赞叹不已。它能够将木材严丝合缝地咬合在一起,形成一个坚不可摧的整体,经受住时间的考验。从故宫的宏伟宫殿到精致的家具,无不体现着榫卯结.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有