wlly-lzh
2023-08-04 03:38 deepin
在下只是好奇要如何进行封装,请阁下封装一部分代码给我们看看。
没有喷哦!
Reply Like 0 View the author
在下只是好奇要如何进行封装,请阁下封装一部分代码给我们看看。
没有喷哦!
在下只是好奇要如何进行封装,请阁下封装一部分代码给我们看看。
没有喷哦!
案例很多,网上有的是Qt相关的组件封装案例,自己可以找。
话说你用没用过DTK啊
那玩意儿就是封装了一堆样式的Qt控件库+deepin/uos专用API库,目标就是方便用户能快速开发出与系统主题相符合的GUI软件,同时还能快速调起deepin/uos的专有功能
你说的这些东西DTK里面早就封装好了,甚至还能和控制中心的什么主题色、亮色暗色切换进行快速的联动
话说你用没用过DTK啊
那玩意儿就是封装了一堆样式的Qt控件库+deepin/uos专用API库,目标就是方便用户能快速开发出与系统主题相符合的GUI软件,同时还能快速调起deepin/uos的专有功能
你说的这些东西DTK里面早就封装好了,甚至还能和控制中心的什么主题色、亮色暗色切换进行快速的联动
估计是不会用
QT等图形库迟早要成为昨日黄花!在嵌入式领域还有市场
QT等图形库迟早要成为昨日黄花!在嵌入式领域还有市场
Linux软件开发的选择面太少了
小公司用 Qt,写的工具开源,无法律风险。
至于说像 Deepin 这样体量的公司,买个正版授权也没有什么压力。
用 Qt 做信创,现在就是大势所趋,可能这个趋势会持续 20 年左右,直到中国在硬件方面抹平自己缺失的部分。
怎么总幻想着有一个现成的,可靠的,还高性能的方案随意白嫖呢?
鸿蒙除了华为自己在搞之外,并无任何第三方实际参与。
不会有任何一个决策者,会把自己的技术选型与华为这家公司绑定的,放心吧。
Popular Ranking
ChangePopular Events
More
关于DTK,实际上deepin现在正在不断的拓展,寻找更多适合国内应用软件开发编程方式。比如,接近QT模式的DTK Core、DTK Widget、DTK Gui,类似QML的DTK Declarative。
这两种开发模式都有各自优点:
1.DTK Core、DTK Widget、DTK Gui,这种类似Qt的套件都是主要有C/C++代码实现,性能很高;
2.类似QML的DTK Declarative,软件窗口界面的排版和编写非常方便,但是运行性能上比DTK Widget差。
那么,能不能折中一下,我们可不可继续对DTK Widget进行封装一下,就是DTK Widget相关组件,可以重新进行封装。
DTK封装的模式,尽量与现在的Html+CSS的规范一致,比如button的事件处理、button的布局样式调整、动画处理等等。
【自定义控件Button-效果展示】
如上图,鼠标移动到窗口中的Button-Haihong Pros时,Button的框体内从“白”变为“蓝”,button的字体颜色从“蓝”变为“白”。
这种组件的样式变化以及点击事件,都需要对Button进行很好的封装才行。
可以看到,Html非常简单在文本中编写出button组件,然后用class标记了button的样式和鼠标点击后的效果,而鼠标实际相关的事件动作内容我们是无法看到的,这说明Html+CSS在底层封装的很好。不像QT现在还要重复调用QMouseEvent,重写相关代码实现事件的处理过程。
也就是说,Html+CSS在底层已经把QMouseEvent相关事件与其进行很好绑定,因为很多点击事件在功能上都是相同的,且执行流程也一致,没必要重复性让程序员再去实现。
从我个人的看法,其意思也非常简单,那就是QT/DTK在进行事件处理时,可以让编程人员不再编写QMouseEvent相关事件内容,而是直接调用组件时就附带有相关事件的处理,如果不能满足自己的需求,可以在封装的代码中继续添加相关内容。
还有一点,那就是CSS相关的样式设置,也可以在其他组件中进行重复利用,这也能减轻软件开发者的工作量
最后,DTK确实正在不断演变、扩充更多开发编程方式,但是关于DTK Core、DTK Widget、DTK Gui的进一步封装还是非常有必要的,如果让编程人员快速上手、快速编译调试等等都是可以改进的最好方式。
(**以上内容,纯属个人观点,本人主要目的是为了减轻DTK/QT的工作量,如果DTK Widget中的组件名都改成HTML中的标记语言属性名也不错,如有异议,可在评论区讨论)