[DTK] DTK软件的窗口圆角,应该升级为系统控制,需要合适的窗口管理器
Tofloor
poster avatar
deepin
2023-09-05 22:56
Author

今天,我在chatgpt上问了一个问题,其主要问题是:MacOS在系统层面,是如何做到让Qt软件的“4个直角窗口”变为“4个有圆角的窗口”?以下图片内容,如下:

image.png

也就是说,MacOS的窗口管理器Window Manager是通过Core Animation这个核心图形库把Qt软件的直角窗口的边角渲染成为圆角,可以让系统对很多软件进行图形方面的统一调度设置。

image.png

image.png

image.png
相关官方文档链接
Core Animation Programming Guide


最后,我为什么要介绍这部分内容呢,主要是因为现在系统中的软件开发框架有很多,Qt/DTK软件开发套件并不一定所有软件公司、程序员都会选择使用,有的会选择Flutter框架,还有的会选择Electron框架....

在当代,我们会发现后续会有更多新的编程语言出现,甚至也会有更多的GUI FrameWork出现,Deepin V23想单独依靠DTK软件开发套件来实现圆角边的软件形态并不现实,只能通过系统层的窗口管理器对所有类型的GUI FrameWork的软件界面窗口进行统一设置才行。这个系统设置功能如果完善,后面一些软件的设置也可以一劳永逸。

Reply Favorite View the author
All Replies
1 / 2
To page
DebuggerX
deepin
2023-09-05 23:20
#1

有没有一种可能,现在就是这么做的doubt

所以真的不明白又是看苹果咋做的又是问狗屁通的意义何在

Reply View the author
deepin
2023-09-05 23:26
#2
DebuggerX

有没有一种可能,现在就是这么做的doubt

所以真的不明白又是看苹果咋做的又是问狗屁通的意义何在

😂 ,现在很多第三方软件并不是圆角边的窗口,你说在做,那DTK的窗口圆角通过系统来统一设置的文档信息也没看到啊。

Reply View the author
DebuggerX
deepin
2023-09-05 23:46
#3

第三方软件一般在没有特殊处理的情况下,是会由系统来绘制边框、阴影、圆角等“窗口装饰”的。但是有些应用是开发者想要实现特殊的标题栏功能,例如 gnome-disk-utility 是要在标题栏上加入菜单按钮,又或者一些开发者追求标新立异,选择禁用系统绘制的串口装饰自己画,从而实现自定义阴影或者异形窗口等效果,尤其是跨平台的Electron项目会这样。

总的来说就是很多时候是开发者自己要求系统不要画圆角阴影标题栏等东西,这种时候强行画是能实现,结果就是可能各种显示异常,双层阴影,双层标题栏都有可能。

多看代码,多深入学习,别啥都怪文档没写,没确定的东西别那么着急输出好么

Reply View the author
deepin
2023-09-05 23:52
#4
DebuggerX

第三方软件一般在没有特殊处理的情况下,是会由系统来绘制边框、阴影、圆角等“窗口装饰”的。但是有些应用是开发者想要实现特殊的标题栏功能,例如 gnome-disk-utility 是要在标题栏上加入菜单按钮,又或者一些开发者追求标新立异,选择禁用系统绘制的串口装饰自己画,从而实现自定义阴影或者异形窗口等效果,尤其是跨平台的Electron项目会这样。

总的来说就是很多时候是开发者自己要求系统不要画圆角阴影标题栏等东西,这种时候强行画是能实现,结果就是可能各种显示异常,双层阴影,双层标题栏都有可能。

多看代码,多深入学习,别啥都怪文档没写,没确定的东西别那么着急输出好么

😂 ,如果系统层的窗口管理器能够实现软件窗口界面的统一管理,DTK软件开发在实际编写界面UI时会少一些样式设置的代码,开发者也不用过多关心窗口的问题。

Reply View the author
DebuggerX
deepin
2023-09-06 00:04
#5

😂 ,如果系统层的窗口管理器能够实现软件窗口界面的统一管理,DTK软件开发在实际编写界面UI时会少一些样式设置的代码,开发者也不用过多关心窗口的问题。

看不懂我写的东西吗?真无语。

不是系统没有“统一管理”,而是有些开发者 “故意”让系统不要关系他的应用窗口,因为开发者“就想”自己画。

他们就想自己画,样式代码是他们自己“非要写的”,明明不写就能得到统一的样式,至于为什么他们要这么做去问他们吧

Reply View the author
神末shenmo
deepin
Spark-App
2023-09-06 00:13
#6

😂 ,如果系统层的窗口管理器能够实现软件窗口界面的统一管理,DTK软件开发在实际编写界面UI时会少一些样式设置的代码,开发者也不用过多关心窗口的问题。

DTK软件开发在实际编写界面UI时会少一些样式设置的代码,开发者也不用过多关心窗口的问题

DTK软件现在确实是这样的

但是第三方应用不是dtk写的,还要求自绘标题栏的,那就没办法了

Reply View the author
deepin
2023-09-06 00:15
#7
DebuggerX

看不懂我写的东西吗?真无语。

不是系统没有“统一管理”,而是有些开发者 “故意”让系统不要关系他的应用窗口,因为开发者“就想”自己画。

他们就想自己画,样式代码是他们自己“非要写的”,明明不写就能得到统一的样式,至于为什么他们要这么做去问他们吧

窗口圆角,还是可以能强制实现的。

Reply View the author
deepin
2023-09-06 00:17
#8
神末shenmo

DTK软件开发在实际编写界面UI时会少一些样式设置的代码,开发者也不用过多关心窗口的问题

DTK软件现在确实是这样的

但是第三方应用不是dtk写的,还要求自绘标题栏的,那就没办法了

标题栏可以不用管它,窗口强制用窗口管理器进行“圆角”设置,这也不影响第三方软件的标题栏的现实。

我只是现在要求窗口圆角统一,第三方软件的标题栏、菜单栏、侧边栏可以暂时不用管。

Reply View the author
DebuggerX
deepin
2023-09-06 00:37
#9

窗口圆角,还是可以能强制实现的。

看看强制的结果:

mate-issue

明白了吗。

别说只要圆角,圆角就是窗口装饰的一部分,要有就都有。

Reply View the author
deepin
2023-09-06 01:01
#10
DebuggerX

看看强制的结果:

mate-issue

明白了吗。

别说只要圆角,圆角就是窗口装饰的一部分,要有就都有。

Linux 其他发行版的非原生Qt框架第三方软件可以暂时不管,开源经常用的Qt软件可以先实现,这样不过分吧,

Reply View the author
神末shenmo
deepin
Spark-App
2023-09-06 02:01
#11

Linux 其他发行版的非原生Qt框架第三方软件可以暂时不管,开源经常用的Qt软件可以先实现,这样不过分吧,

不过就这件事上我觉得,如果kwin能强制的话,我还是希望加一个选项的

尽管不可避免的会有一些软件出现显示错误的情况,我可以忍受,全局圆角确实好看

Reply View the author
enforcee
deepin
2023-09-06 02:02
#12

GPT胡说八道的,别信
doubt

Reply View the author
deepin
2023-09-06 02:10
#13
神末shenmo

不过就这件事上我觉得,如果kwin能强制的话,我还是希望加一个选项的

尽管不可避免的会有一些软件出现显示错误的情况,我可以忍受,全局圆角确实好看

没错,圆角窗口更符合deepin V23的整体风格。

Reply View the author
deepin
2023-09-06 02:13
#14
It has been deleted!
deepin
2023-09-06 02:14
#15
enforcee

GPT胡说八道的,别信
doubt

GPT,对于IT技术类真的很少说谎。

Reply View the author
enforcee
deepin
2023-09-06 02:18
#16

GPT,对于IT技术类真的很少说谎。

那么你可以直接让你的数码圣人写一个让所有窗口都能圆角的程序出来,省得来这里拾人牙慧

Reply View the author
deepin
2023-09-06 02:20
#17
enforcee

那么你可以直接让你的数码圣人写一个让所有窗口都能圆角的程序出来,省得来这里拾人牙慧

这个说不准今年就实现了

Reply View the author
enforcee
deepin
2023-09-06 02:21
#18

这个说不准今年就实现了

你现在去弄的话,今天就实现了,大家都会感谢你

Reply View the author
deepin
2023-09-06 02:25
#19
enforcee

你现在去弄的话,今天就实现了,大家都会感谢你

joy

Reply View the author
liusu
deepin
2023-09-06 02:38
#20

看了下。楼主的帖子好像没啥引战的地方。回复的某些人才是真一个叽叽歪歪。阴阳怪气

Reply View the author
1 / 2
To page