Neutree / COMTool

Cross platform communicate assistant(Serial/network/terminal tool)( 跨平台 串口调试助手 网络调试助手 终端工具 linux windows mac Raspberry Pi )支持插件和二次开发
https://neucrack.com/p/186
GNU Lesser General Public License v3.0
1.73k stars 325 forks source link

macOS下最小化无反应,点击最大化全屏后再退出全屏后titlebar丢失 #69

Open kaidegit opened 1 year ago

kaidegit commented 1 year ago

环境

titlebar丢失如图:

image

Neutree commented 1 year ago

试试按键 F11 看能不能恢复,好像macOS的全屏比较特殊, 手头没有 mac 不太好调试

代码: https://github.com/Neutree/COMTool/blob/b17f4dd261f12bd149ac7b8fb889ba6fbaa13aac/COMTool/widgets.py#L128-L152

Neutree commented 1 year ago

标题栏的三个按钮事件绑定在这里: https://github.com/Neutree/COMTool/blob/b17f4dd261f12bd149ac7b8fb889ba6fbaa13aac/COMTool/widgets.py#L119-L121

kaidegit commented 1 year ago

似乎退出全屏不会触发onSetMaximized这个函数,毕竟是从macOS的标题栏退出的,似乎没有绑定到重写的按键。

个人认为最大化就足以,没有必要全屏,这样可以避免使用macOS自带的标题栏。

关于最小化的问题。。是pyqt5版本低了,qt的bug报告在这。。。后面的qt版本修了,不知道有什么好的解决方案

Neutree commented 1 year ago

macos的最大化不是很理解什么机制,看起来就像全屏一样,和 win linux都不一样,没咋用过不太理解

pyqt有bug很正常。。我也遇到过按键事件不触发的bug,但是一般新版就会修复

kaidegit commented 1 year ago

啊,这是你自己写的全屏啊。。。用Qt.WindowMaximized就是正常的最大化

https://github.com/Neutree/COMTool/blob/b17f4dd261f12bd149ac7b8fb889ba6fbaa13aac/COMTool/widgets.py#L140-L143

Neutree commented 1 year ago

这样的嘛hhhhhhhh 可能当时写的时候有什么考虑吧

yangyu-cn commented 1 year ago

macOS,不能reSize,Tab的close按钮(红叉叉)无反应。有没有考虑升级到pyQt6?

Neutree commented 1 year ago

@yangyu-cn 不最大化的应该没问题吧? 只有最大化了才出现这问题? 或者说源码运行才出现这个问题 dmg安装包的不会有这个问题?

pyqt6的话暂时不考虑升级,没有什么必要的话,因为不知道是否会有什么神奇的bug,pyqt5的时候有一些版本就有按钮事件无法触发的问题就像你说的关闭按钮没法触发这种问题存在

yangyu-cn commented 1 year ago

我是源码运行。 pyqt5的一些bug不会再去修复了,我才问升级到pyQt6的问题。 在ComTool基础上做了一个bootloader上位机,非常方便,谢谢!

hjhu commented 3 months ago

3.4.0最大化之后最小化之后顶部栏也没有了