stdware / qwindowkit

Cross-platform frameless window framework for Qt. Support Windows, macOS, Linux.
Apache License 2.0
490 stars 78 forks source link

[功能] 增加默认窗口标题栏 #31

Closed KangLin closed 6 months ago

KangLin commented 7 months ago

当前 WidgetWindowAgent 仅仅只是一个代理。它没有默认的窗口标题栏。如果用来修改原来的代码。工程量很大。

建议增加默认标题栏。它的要求如下:

实现:建议用 WidgetWindowAgent 派生类实现。

wangwenx190 commented 7 months ago

QWK是有意去掉了预置的标题栏的。FramelessHelper原本提供的标题栏,主要是模仿了系统原生的标题栏,对于大多数需要定制标题栏的程序来说,风格应该都是不搭的,所以最终还是要自己制作一个适合自己的标题栏。而不同程序的风格也完全不同,我也没法提供一个万能的标题栏,所以干脆完全交给用户去实现了。QWK和FramelessHelper一样,都是可以设置任意QWidget作为标题栏的,所以你完全可以把你之前的标题栏拿过来用,不必用QWK的东西重新实现。

KangLin commented 7 months ago

我的意思是用qt原来的标题栏。这样才容易移植。如果要重新写个标题栏。工程太大了。 没有办法实现吗?

SineStriker commented 7 months ago

我的意思是用qt原来的标题栏。这样才容易移植。如果要重新写个标题栏。工程太大了。 没有办法实现吗?

没看懂您的意思,你想用默认标题栏直接不用这个库不就行了吗?

KangLin commented 7 months ago

直接用库,但样式不一样。

在 2024-01-29 17:08:10,"SineStriker" @.***> 写道:

我的意思是用qt原来的标题栏。这样才容易移植。如果要重新写个标题栏。工程太大了。 没有办法实现吗?

没看懂您的意思,你想用默认标题栏直接不用这个库不就行了吗?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

wangwenx190 commented 7 months ago

重写一个标题栏工作量不会太大吧,实在不行你可以把示例工程里的代码复制过去,里面是有一个简单的标题栏的

KangLin commented 7 months ago

一个窗口的工作量是不大,但一个项目窗口的工作量就很大了!

KangLin commented 7 months ago

FramelessHelper原本提供的标题栏,主要是模仿了系统原生的标题栏,

这个思路有问题。应该是适应当前窗口样式才对。

wangwenx190 commented 7 months ago

标题栏本就不属于这个项目应有的功能,所以为了精简代码我们去掉了也理所应当。大多数类似功能的框架也都是没有提供标题栏的,例如WASDK,WPF的WindowChrome。

况且你项目工作量大跟本项目没有关系,我们没有必要专门为了减轻你的工作量而做出妥协。