- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我开始使用 Qt 并决定构建一个全屏文本编辑器。我想将一个按钮(屏幕截图中带有箭头的按钮)附加到 QDockWidget 上,该按钮可以打开和关闭它,因此该按钮始终在屏幕右侧可见,并在停靠栏可见或调整大小时保持锚定。
我当前的应用程序是一个简单的全屏 textEdit,设置为 Mainwindow 中的 centeralwidget。
我还没有找到一种方法来使用布局或现有的 addAnchor() 函数来做到这一点,因此感谢任何帮助或指导。
最佳答案
您可以通过使用容器进行文本编辑和按钮来实现您想要的。 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/
我是一名优秀的程序员,十分优秀!