如何在QT中让QLabel移动?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在QT中让QLabel移动?相关的知识,希望对你有一定的参考价值。
我现在用C++在Qdialog中编了个小程序,现在已经用QLabel和Qmovie引入了一个gif,但我想让这个gif移动起来。具体想要达到的效果是让这个gif移动到某处,然后返回原处,并且显示这一过程的经过。不能像“瞬移”一样“唰”的到某处再返回。尝试过用move()效果不好,就像瞬移一样。求大神帮解答,越详细越好
m_label = new QLabel(dialog);
m_movie->setScaledSize(x, y);
m_label->setGeometry(x, y, width, hight);
m_label->setMovie(“pathname/myGif.gif”);
m_movie->setSpeed(300);
m_movie->start();
m_label是QLable的object, m_movie是QMovie的object. 现在能对m_label直接操作并使gif移动么?如果不能,有什么其他方法么?
setText参数必须是QString类型才可以 你的变量如果是整形,可以直接转换,比如QString()::number( int num).追问
这种方法能让QLabel移动?
或者怎样才能让QLabel转换成QString?
如何将 QLabel 放入切换按钮 Qt c++
【中文标题】如何将 QLabel 放入切换按钮 Qt c++【英文标题】:How to put a QLabel in a toggle button Qt c++ 【发布时间】:2018-07-06 13:41:16 【问题描述】:对于我的项目,我希望有一个切换按钮。 经过大量研究,我找到了这篇文章。 toggle-switch-in-qt
我在上面的链接中实现了第三篇文章的代码。
此代码可以正常工作。通过缺点,我不明白我们如何为切换按钮的两种状态添加 QLabel? 有人有想法做这个操作吗?
【问题讨论】:
【参考方案1】:您需要在Switch::paintEvent
中手动绘制标签,具体取决于isEnabled()
,使用QPainter::drawText
。由于您引用的控件的绘制事件被覆盖,QAbstractButton::paintEvent
中通常绘制按钮标签的默认行为不会被执行。
【讨论】:
我尝试在PaintEvent方法中做p-> drawText(QRect, Qt :: AlignCenter, "name); 但是什么都没有出现.... 你确定你没有在文本上绘图吗?文本是否在正确的坐标处绘制?尝试在绘制控件本身之后 绘制文本,并将其绘制在QRect(margin_, margin_)
。还要确保使用通过设置正确的笔和画笔可以看到的颜色。
对不起,我没有看到你的消息。在 isEnabled () 我做: QRect rect(0,0,_margin, _margin); QPen penHText(Qt::black); p.setPen(penHText); p.drawText(rect, Qt::AlignHCenter, "myText");但它没有显示任何东西。然而,即使坐标不正确,我也应该看到我的文字出现......?
怎么样:drawText(QPointF(0, 10), "Some text")
,在所有其他绘图调用之后?以上是关于如何在QT中让QLabel移动?的主要内容,如果未能解决你的问题,请参考以下文章
Qt Creator中如何在QLabel上画矩形框并且保存画完后的图形