相关文章推荐
风流倜傥的单杠  ·  Help needed starting ...·  4 月前    · 
健壮的核桃  ·  奖学金项目·  7 月前    · 
暗恋学妹的吐司  ·  最新最全实用手册奉上!广州白云站即将迎来春运 ...·  7 月前    · 
严肃的鼠标  ·  前端面试思维导图-CSS相关知识点 ...·  7 月前    · 
霸气的毛衣  ·  Sony Alpha 鏡片元件 | ...·  8 月前    · 
Code  ›  如何在QMainWindow中使用自定义的最小化/关闭窗口按钮?开发者社区
按钮
https://cloud.tencent.com/developer/ask/sof/114194332
直爽的荔枝
2 年前
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
提问
问 如何在QMainWindow中使用自定义的最小化/关闭窗口按钮?
Stack Overflow用户
提问于 2017-05-05 07:37:31
EN

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

我知道如何删除最小化/最大化/关闭窗口按钮。这不是问题。 如何从Qt小部件中删除窗口边框(包含最小化、最大化和关闭按钮)?

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

ps:我想要一些适用于Windows/Mac/Linux的便携设备

2 2.7K 0 票数 1
EN
c++
qt
qtstylesheets
qmainwindow

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-05 08:35:29

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

​

​

然后连接标头按钮。

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

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

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

票数 1
EN

Stack Overflow用户

发布于 2017-05-05 08:31:27

您应该创建没有系统栏的窗口(如果没有最小化、全屏、关闭按钮,您可以为该Qt::Window \ Qt::WindowTitleHint::CustomizeWindowHint)使用下一个标志,并添加您自己的自定义系统按钮。

票数 1
EN
页面原文内容由 Stack Overflow 提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43799157

复制

Copyright © 2013 - 2023 Tencent Cloud.

All Rights Reserved. 腾讯云 版权所有

 
推荐文章
风流倜傥的单杠  ·  Help needed starting hammerdbcli · TPC-Council/HammerDB · Discussion #671 · GitHub
4 月前
健壮的核桃  ·  奖学金项目
7 月前
暗恋学妹的吐司  ·  最新最全实用手册奉上!广州白云站即将迎来春运首秀_广州日报大洋网
7 月前
严肃的鼠标  ·  前端面试思维导图-CSS相关知识点 思维导图模板_ProcessOn思维导图、流程图
7 月前
霸气的毛衣  ·  Sony Alpha 鏡片元件 | 相機鏡頭的部件 | Sony Hong Kong
8 月前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号