gpt4 book ai didi

c++ - 如何在我的 QMainWindow 中使用我自定义的最小化/关闭窗口按钮?

转载 作者:行者123 更新时间:2023-11-30 03:31:59 24 4
gpt4 key购买 nike

我想删除 QMainWindow 的窗口标题栏(以及最小化/最大化/关闭按钮)。我想使用我自己的最小化/关闭按钮。

我知道如何删除最小化/最大化/关闭窗口按钮。这不是一个问题。 How to remove the window border (containing minimize, maximize and close buttons) from a Qt widget?

问题是添加那些新按钮(最小化/关闭)。是否可以在 Qt 样式表(或 C++)中做到这一点?

ps:我想要一些可移植的 Windows/Mac/Linux

最佳答案

不幸的是,这种装饰取决于窗口管理器。您可能会找到依赖于操作系统的解决方案(例如,this for Windows 更改了标题栏的其他方面),但是如果您删除了窗口按钮,那么我知道的唯一可移植选项是创建您自己的容器窗口,一个 QWidget,它有一个带有您想要的按钮的标题区域和一个 centralWiget,您可以在其中添加应用程序的其余部分:

enter image description here

然后连接标题按钮

connect(m_ui.btnMinimize, SIGNAL(clicked()), SLOT(showMinimized()));
connect(m_ui.btnClose, SIGNAL(clicked()), SLOT(close()));

要使其可重用,只需添加一个insert(QWidget*) 方法来替换centralWidget

注意:考虑到您必须创建带有 Qt::FramelessWindowHint 标志集的容器,因此如果您希望允许用户移动/调整窗口,您也必须手动处理这些操作。

关于c++ - 如何在我的 QMainWindow 中使用我自定义的最小化/关闭窗口按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43799157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com