gpt4 book ai didi

c++ - 有没有办法将两个 QWidget 连接或锚定在一起?

转载 作者:行者123 更新时间:2023-12-02 10:13:22 27 4
gpt4 key购买 nike

我开始使用 Qt 并决定构建一个全屏文本编辑器。我想将一个按钮(屏幕截图中带有箭头的按钮)附加到 QDockWidget 上,该按钮可以打开和关闭它,因此该按钮始终在屏幕右侧可见,并在停靠栏可见或调整大小时保持锚定。
我当前的应用程序是一个简单的全屏 textEdit,设置为 Mainwindow 中的 centeralwidget。
我还没有找到一种方法来使用布局或现有的 addAnchor() 函数来做到这一点,因此感谢任何帮助或指导。
Screenshot

最佳答案

您可以通过使用容器进行文本编辑和按钮来实现您想要的。 QWidget 实例可以用作其他小部件的“不可见”*** 容器。
所以在 Qt Designer 中添加一个 widget作为主窗口的中央小部件,在此小部件中添加文本编辑和按钮,然后为此容器小部件设置垂直布局。
不要忘记将停靠小部件限制为仅停靠在右侧,您可以这样做:dock->setAllowedAreas(Qt::DockWidgetArea::RightDockWidgetArea);//假设 dock是指向您的 QDockWidget 的指针。
如果您希望 dockWidget 能够停靠到任何一侧并跟随按钮,您也可以这样做,但它会变得有点复杂。基本上你需要连接一个插槽到dockLocationChanged您的 dockWidget 并根据它停靠的位置,您需要为容器小部件设置一个新的布局,使其垂直或水平,并且 textEdit 和按钮的顺序基于停靠发生的一侧。
LE:*** 你很可能需要设置你想要的边距,因为小部件和它的布局都可以有它们,并且实际内容可能有比你想要的更高的间距。

关于c++ - 有没有办法将两个 QWidget 连接或锚定在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62735680/

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