Giter Site home page Giter Site logo

Comments (7)

SineStriker avatar SineStriker commented on June 8, 2024

这个问题在qt5上没有,应该是QWidget::close()的实现改了的缘故,给我点时间研究一下。

from qwindowkit.

zhouybbbb avatar zhouybbbb commented on June 8, 2024

这个问题在qt5上没有,应该是QWidget::close()的实现改了的缘故,给我点时间研究一下。

好的,麻烦了

from qwindowkit.

wangwenx190 avatar wangwenx190 commented on June 8, 2024

调用close后有些资源被Qt释放掉了,导致再次显示窗口会出现问题。不同Qt版本对close的实现不完全一样,所以导致版本不同,表现也不同。我本倾向于将这个问题归结为使用者没有正确使用QWK导致的,但 @SineStriker 决定在有时间时研究解决这个问题,所以就先不close这个issue了。

from qwindowkit.

zhouybbbb avatar zhouybbbb commented on June 8, 2024

调用close后有些资源被Qt释放掉了,导致再次显示窗口会出现问题。不同Qt版本对close的实现不完全一样,所以导致版本不同,表现也不同。我本倾向于将这个问题归结为使用者没有正确使用QWK导致的,但 @SineStriker 决定在有时间时研究解决这个问题,所以就先不close这个issue了。

qt5版本和qt6版本的close()完全不同,已经完全重写了,qt6版本6.0和6.1由于编译失败无法测试,6.2及以上版本都会出现此问题,且鼠标点击坐标错位,我没有仔细比较qt6各个版本close()实现是否有太大差别,但我猜测是相同的原因造成的,可能可以对qt5和qt6在底层需要不同的实现。关闭后重新打开窗口是很常规的操作,例如关闭窗口后在托盘显示等。

from qwindowkit.

wangwenx190 avatar wangwenx190 commented on June 8, 2024

关闭后重新打开窗口是很常规的操作,例如关闭窗口后在托盘显示等。

我自己的项目也有这种操作,但我都是hide而不是close。从逻辑上来讲,你需要再次显示出来的话,调用hide将窗口隐藏才更合理吧?

from qwindowkit.

zhouybbbb avatar zhouybbbb commented on June 8, 2024

关闭后重新打开窗口是很常规的操作,例如关闭窗口后在托盘显示等。

我自己的项目也有这种操作,但我都是hide而不是close。从逻辑上来讲,你需要再次显示出来的话,调用hide将窗口隐藏才更合理吧?

如果调用hide的情况下当所有顶层窗口都关闭的情况下,事件循环无法退出,需要额外的操作判断。而且按照文档来看,普通的close()可以理解为等同于hide()

from qwindowkit.

SineStriker avatar SineStriker commented on June 8, 2024

已经修复了,麻烦您试试最新一次提交。

from qwindowkit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.