使用 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 效果相同)的主要内容,如果未能解决你的问题,请参考以下文章