使用 Qt 固定位置(与 css 效果相同)

Posted

技术标签:

【中文标题】使用 Qt 固定位置(与 css 效果相同)【英文标题】:position fixed (same effect as css) with Qt 【发布时间】:2014-01-16 20:16:53 【问题描述】:

问题:

就像在css 中一样,Qt 中是否存在与position: fixed; 等效的内容?

图片:

我想要的是在调整主窗口大小时将第二个气泡(子类 QTextEdit)向左移动。第二张图片显示了我想要阻止的内容。

【问题讨论】:

什么是气泡? QWidget? QGraphicsItem? QTextDocument 中的框架? 它是 QTextEdit 的子类。我把它子类化只是为了改变它的风格。 好的,所以整个气泡是QTextEdit的一个实例? 正是...这只是因为它的风格。 【参考方案1】:

由于气泡是QWidget 的实例,最简单的做法是将它们放入布局中,然后使用bool QLayout::setAlignment(QWidget * w, Qt::Alignment alignment) 在布局中左对齐或右对齐。

您需要将小部件的最大宽度限制为黄色区域总宽度的 2/3,并且必须进行动态调整。你可以通过安装一个事件过滤器来捕获区域上的QResizeEvent,或者在区域的类上实现resizeEvent(QResizeEvent*)

【讨论】:

效果很好!但是容器(这里的黄色区域)必须设置为垂直对齐其元素。

以上是关于使用 Qt 固定位置(与 css 效果相同)的主要内容,如果未能解决你的问题,请参考以下文章

css div 固定一个div 使这个div不随着网页的滚而滚动 就是把这个div固定在一个位置任何时候都在一个位置

QT 窗口位置怎么固定

js+css+html实现固定侧边栏效果

如何设置CSS 让页面头部和底部固定 中间内容滚动?

固定间隔后获取纬度位置

js+css网页固定右下角 回到顶部 让它固定在底部怎么做