【问题标题】:Qt C++ minimize and maximize windowQt C++ 最小化和最大化窗口
【发布时间】:2011-11-25 15:55:51
【问题描述】:

我通过使用类 QWidget 和设置窗口标志到 Qt::CustomizeWindowHint 来创建主窗口(以禁用标题栏)。但是比我发现的问题 - 当我单击 Windows 任务栏上的程序按钮时 - 程序不会最小化和最大化。我能做些什么来消除这个问题?我使用的是 Windows 7。对不起 4 我的英语不好。

【问题讨论】:

    标签: c++ qt


    【解决方案1】:

    这就是Qt::CustomizeWindowHint的特点。当使用这个windows标志时,你几乎无法控制窗口。你可以尝试在你的窗口中添加两个按钮并将它们连接到showMaximized()和showMinimized()。然后您可以通过单击按钮最大化或最小化窗口。

    【讨论】:

    • 感谢您的回答。我在我的程序中创建按钮(最小化和最大化),一切正常。但是我仍然无法通过单击任务栏按钮来最小化程序窗口。我可以从窗口中删除标题栏,但不丢弃最小化功能吗?
    • 您使用的窗口标志只是禁用鼠标事件,这意味着如果您单击窗口,Windows 只会让它“通过”而不是“击中”窗口。如果您想尝试,我认为你必须使用 Qt::FramelessWindowHint 并重新实现你自己的鼠标事件函数。这篇文章可能对你有帮助:[链接]blog.csdn.net/yiyaaixuexi/article/details/6362865@Ramix
    【解决方案2】:

    这个答案是不久前的,但我现在面临同样的挑战并且可以找到解决方案。也许它对其他人有帮助。如前所述,应指定Qt::FramelessWindowHint 而不是Qt::CustomizeWindowHint。这也隐藏了窗口的标题和边框。为了仍然具有最小化/最大化功能,我另外指定了Qt::WindowSystemMenuHint、Qt::WindowMinimizeButtonHint 和Qt::WindowMaximizeButtonHint。就是这样!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-29
      • 1970-01-01
      • 2021-10-29
      • 1970-01-01
      • 2015-07-21
      • 1970-01-01
      相关资源
      最近更新 更多