新手:如何显示图像 我对此很陌生,实际上才刚刚开始。我需要弄清楚如何在屏幕上显示图像。
首先我尝试了:
源代码:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QGraphicsScene scene;
QGraphicsView view(&scene);
QPixmap qp = QPixmap("../images/tank2.bmp");
if(qp.isNull())
{
printf("Yes its null\n");
}
else
{
QGraphicsPixmapItem item(QPixmap("../images/tank2.bmp"));
scene.addItem(&item);
}
view.show();
return a.exec();
}
来自:
它编译并运行但不显示图像。返回 0 等。
然后我就从那里开始搞砸了。我也对某些事情感到好奇:在 Qt 编辑器中,它们显示了磁盘上不存在的文件结构。他们有文件“标题”、“来源”和资源,而在系统上它只是一个文件夹“项目名称”,所有文件都在一个文件夹中。这只是为了视觉清晰吗?
我使用的 QtCreator 版本是 2.4.1,运行 Qt 4.7.4 64 位。
我的最终目标是制作一个小部件,其中图片是一个可点击的图标,您可以在其中选择该图片并将其像磁贴一样放置在更大的屏幕上。
另一个问题:为什么 Qt 有“QString”和“QChar”之类的东西?普通的 c++ 库有问题吗?
最佳答案
如果你只想显示一个简单的图像,那么让一个 Qlabel 成为中央小部件并调用 setPixmap()传递你的图片路径
"Another Question: Why does Qt have things like "QString" and "QChar"? Is there something wrong with the normal c++ libraries?"
是的,普通库有很多错误——至少对于 std::string 是这样。
当 Qt 开始时,没有很好的跨平台 STL 支持,标准库在 Unicode 和翻译支持方面非常糟糕。 QString 在这方面做得很好——尽管我认为现代 STL 和 boost 的结合可能可以完成 QString 可以做的一切。
几乎所有 Qt 类型都是自动引用计数的,因此您几乎可以忽略它们的内存管理并自由传递它们。 Qt 还可以使用一些技巧,因为额外的 MOC 编译过程意味着它具有标准 C++ 所没有的类 Java 内省(introspection)功能。
但通常您可以自由使用标准 C++ 类型 (Qt: Qt classes vs. standard C++)
关于c++ - 第一次使用Qt : How to display an image?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11980274/