我是QT编程的新手,我有一个问题。我有一个qslider,qlabel和一个视频播放。在播放视频时,qslider的勾号会按照您的猜测向前移动。我想要做的就是把一个qlabel放在qslider的勾号下,然后用tick作为qlabel正在更新的文本...动态更改qlabel的位置
回答
首先你可以试试QLabel.setIndent(self,int),调用它每当滴答变化。如果这对你有用,这是最简单的可能性,如果不是请转发。
谢谢,但QLabel.setIndent(self,int)中的自我是什么? – 2011-03-01 12:30:07
看看setIndent的文档,在这个和其他方法中他们使用self作为第一个参数。我的解释是,这是一个隐含的参数,由Python中的消息接收者给出。所以我认为它的工作原理,如果你只是调用你的MySQLabel.setIndent(int)。 “yourQLabel”是第一个(隐式)参数。 – 2011-03-01 13:45:01
由于Qt layout system的原因,您无法将“QLavel”移动到整个窗口小部件:该窗口小部件存在于布局中。 因此,如果您只想“横向”移动您的标签,则只能通过水平垂直方向来解决问题。
,最简单的一个是使用QLabel::setIndent
函数(它将QLabel
内“移动”文本):
如果标签显示文本,缩进适用于左边缘如果对准()是Qt的:: AlignLeft,如果alignment()是Qt :: AlignRight,则返回到右边缘;如果alignment()是Qt :: AlignTop,则返回顶部边缘;如果alignment()是Qt :: AlignBottom,则返回底部边缘。你
也可以尝试这种方式(将 '搬家' QLabel
本身):
- 创建框布局(
QHBoxLayout
或QVBoxLayout
)。 - 添加一段时间(呼叫
QBoxLayout::addStretch
)。 - 添加QLabel(调用
QLayout::addWidget
)。 - 再次添加拉伸。
- 然后,您可以更改“移动”模仿的伸缩因子。
初始拉伸因子的值将定义标签的初始位置。
的代码示例来模拟QLabel从左向右移动:
class MyWidget : public QWidget
{
Q_OBJECT
public:
MyWidget(QWidget* parent) : QWidget(parent)
{
layout_ = new QHBoxLayout(this);
layout_->addStretch();
layout_->addWidget(new QLabel("Moving text", this));
layout_->addStretch(100);
connect(&timer_, SIGNAL(timeout()), SLOT(moveLabel()));
timer_.start(1000);
}
public slots:
void moveLabel()
{
layout_->setStretch(0, layout_->stretch(0) + 1);
layout_->setStretch(1, layout_->stretch(1) - 1);
if(layout_->stretch(0) == 100)
timer_.stop();
}
private:
QBoxLayout* layout_;
QTimer timer_;
};
并为您的具体情况另一种变体是继承QSlider
,然后重新实现保护功能QWidget::paintEvent
,以便在滑块来画一些标签。
- 1. 在PyQt4中动态更改QLabel文本
- 2. 动态更改位置
- 3. jquery动态位置更改
- 4. Java Android动态更改ImageView的位置
- 5. 更改ListView的位置动态
- 6. 动态更改UIView的位置
- 7. 更改许多QLabel的QLabel文本
- 8. 如何动态更改精灵位置?
- 9. 在angularjs中动态更改div位置
- 10. 动态更改轴的位置轴动态
- 11. 更改状态栏位置
- 12. 如何动态更改位置并记录该位置javascript PHP
- 13. 改变位置动态
- 14. Qt的动态QLabel创建
- 15. QLabel职位不更新
- 16. 更改偏移量动态修改元素的位置
- 17. 更改的位置,$位置
- 18. 更改滚动条位置
- 19. Zf2更改启动位置
- 20. 动态更改WPF窗口的启动位置
- 21. Jsplumb更改静态锚的位置
- 22. 动态更改ehcache配置
- 23. 动态更改swiftmailer设置
- 24. Slim - 动态更改设置
- 25. 位置更改的Android位置更新
- 26. 动态更改imageView中的位图,android
- 27. 动态改变PopupWindow在android的位置
- 28. VueJS:如何在滚动位置后动态更改CSS类
- 29. 根据滚动位置动态更改href
- 30. 更改动态创建的自定义控件的位置
您可以使用setGeometry以及更改它在对话框中的位置... – Mostafa 2013-10-25 03:31:01