gtk4 在Windows11中的问题
gtk吧
全部回复
仅看楼主
吧务
level 11
LuoYu0401 楼主
如图,不知道为啥gtk的窗口占用大小比实际看到的要大很多,用的msys2的mingw-w64-x86_64-gtk4包,仅仅创建了普通窗口[滑稽]之前用win10和现在的win11都是如此,大佬们有头绪吗
2023年10月27日 07点10分 1
吧务
level 13
有可能是窗口渲染操作自动根据系统DPI设置进行了缩放,我用的也是msys2的gtk4
2023年10月27日 08点10分 2
吧务
level 13
调整DPI设置测试了一下,窗口实际渲染大小确实是根据DPI走的
2023年10月27日 09点10分 3
吧务
level 13
调整DPI设置测试了一下,窗口实际渲染大小确实是根据DPI走的
2023年10月27日 09点10分 4
吧务
level 11
LuoYu0401 楼主
我都是高分辨率屏,系统缩放150%或者200%,好像知道咋回事了[笑尿]
2023年10月27日 09点10分 5
吧务
level 11
LuoYu0401 楼主
嗯?不对呀,我这个缩放是100%呀[汗]
2023年10月27日 10点10分 6
回宿舍用自己电脑再试试看吧[汗]
2023年10月27日 10点10分
我记得在用gtk4做窗口背景时,对窗口设置大小之后实际的窗口大小会出现误差,最后是这是背景的Widget控制的,也许是这个bug还在了
2023年10月27日 11点10分
吧务
level 11
LuoYu0401 楼主
关于这个问题我最近又有新的发现,在gtk_window_present (GTK_WINDOW (window));之前使用gtk_window_set_decorated(GTK_WINDOW(window), FALSE);可以消除周围一圈的透明区域,但会导致原生窗口顶部的标题栏以及三个窗口控制按钮(最小化,最大化,关闭)也被隐藏,同时把鼠标移动到窗口边缘也无法改变窗口的大小。各位大佬有没有两全其美的办法[滑稽]设置decorated是我问Github Copilot给出的提示,顶部那块区域倒是无所谓,可以手动添加
2024年09月12日 00点09分 7
23333,这就是是否显示窗口标题栏可控制按钮的属性了
2024年09月12日 23点09分
level 1
刚遇到同样的问题。我用的是gtk4+libadwaita,不管是GtkWindow还是AdwWindow,其真实窗体范围都比实际看到的要大,因为gtk是完全自绘的窗口,标题栏和边框以及那圈阴影都是自绘的,问题就出在窗口边框和阴影,这个东西称为窗口装饰。用gtk inspector能看到,窗体有个CSS样式类叫csd,表示自定义窗口装饰,把它去掉就会发现边框没了,并且窗口范围正常了。但是直接去掉它又会变丑,所以我的方案是调整box-shadow CSS属性,将窗口阴影改小就OK了。
window {
box-shadow: 0 3px 9px 1px rgba(0,0,0,0), 0 2px 6px 2px rgba(0,0,0,0.13), 0 0 0 1px rgba(0,0,0,0.09);
}
2024年12月10日 13点12分 8
1