【问题标题】:Text debris in Qt frameless transparent windowQt无框透明窗口中的文本碎片
【发布时间】:2019-03-13 20:21:29
【问题描述】:

我正在尝试使用 Qt 及其 go-bind(https://github.com/therecipe/qt) 创建一个无框透明窗口。

我遇到的问题是文字的碎片残留在无框透明窗口中。请看 Gif(https://i.imgur.com/47OC7ps.gif)。

我确认的问题的特点如下。

  • 问题仅出现在调整大小的窗口中。 (但不是 100%)
  • 只有最初的文本 显示在窗口中的将保留为碎片。

这个问题可以通过在QMainWindow本身显式调用Hide()Show()来避免,但是会出现性能问题。

我希望在调整应用程序大小时会考虑一些问题,因为问题只发生在调整大小的窗口中。

有什么想法吗?


我的环境如下:

【问题讨论】:

  • 也许,您的小部件没有看到该区域需要更新。尝试调用update()(不带参数)以强制重新绘制整个小部件。
  • 即使在update() 之后碎片仍将继续存在。此外,我确认此问题仅在 MacOS 中发生。在 WIndows 中不会出现问题。

标签: qt go


【解决方案1】:

我解决了这个问题。

这个问题是由 MacOS 中的窗口阴影引起的。 我可以通过将Qt::NoDropShadowWindowHint 设置为窗口来解决此问题。

这个问题可能是 MacOS/Qt 的 bug。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-20
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    相关资源
    最近更新 更多