如何在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移动么?如果不能,有什么其他方法么?

参考技术A setText ( const QString & )
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 - 如何在 QLabel Image 上设置文本

如何将 QLabel 放入切换按钮 Qt c++

Qt Creator中如何在QLabel上画矩形框并且保存画完后的图形

如何更改图像对比度(窗口中心和宽度)并在 QLabel 中显示(Python3.5,Qt5.1)

Qt在控件未显示时如何获取正确的控件尺寸

QT中让按钮上显示图片,就是让按钮更好看点,有没有简单点可靠的的方法