【发布时间】:2016-12-03 00:53:23
【问题描述】:
提前感谢您的阅读和帮助。
我正在尝试基于 QListWidget 制作一个 GIF 管理器,您可以在其中从列表中选择一个 GIF(使用 on_*_itemClicked,如下所示),它将在列表下方的空间中显示动画 GIF (或侧身,没关系)。
void MainWindow::on_listOfURL_itemClicked(QListWidgetItem *item)
{
QLabel* lab = new QLabel(this);
QMovie* mov = new QMovie(":/res/giftest/C:/Users/Rober/Desktop/giftest.gif");
lab->setGeometry(200, 200, 200, 200);
lab->setMovie(mov);
lab->show();
mov->start();
}
我尝试过使用上面的代码,但它什么也没显示。只是徒劳无功,所以GIF路径是一样的,不用担心。
老实说,我在论坛和这个网站上搜索了很多关于 GIFS 和动画的代码,但我所看到的没有一个对我有用。
我应该如何进行?我想我应该在 UI 中使用一些图形 QWidget 并将其与函数 on_*_itemClicked 链接,以便它从 QListWidgetItem 获取图像的位置并显示我在 UI 中指向的位置。
我通过浏览 Mighty Google 得到了粘贴在这里的代码,这给我带来了一些疑问:
- 我创建了一个以 MainWindow 作为父窗口的 QLabel。好的,但它会出现在哪里?
- 我不能在 Designer 中创建一个小部件,我可以定义它的位置并让 GIF 正常工作吗?
我想我已经正确地解释了自己,如果不是让我知道的话。
编辑:我认为我需要的是一个位于主窗口内、位于 URL 列表下方的 QLabel。如何在 QtDesigner 中塑造 QLabel,然后在代码中使用相同的 QLabel 并使用 GIF 操作它?
【问题讨论】:
标签: c++ qt animation animated-gif qt-designer