我想在Qt UI中显示.jpg图像。我在网上查过,发现http://qt-project.org/doc/qt-4.8/widgets-imageviewer.html。我认为Graphics View会做同样的事情,并且它也有编解码器来显示视频。如何使用图形视图显示图像?我浏览过图书馆,但是因为我在Qt中是一个全新手,我无法找到一个开始的线索。你能指导我介绍一些关于如何在Qt中加载和显示图像的资源/例子吗?Qt jpg图像显示
谢谢。
我想在Qt UI中显示.jpg图像。我在网上查过,发现http://qt-project.org/doc/qt-4.8/widgets-imageviewer.html。我认为Graphics View会做同样的事情,并且它也有编解码器来显示视频。如何使用图形视图显示图像?我浏览过图书馆,但是因为我在Qt中是一个全新手,我无法找到一个开始的线索。你能指导我介绍一些关于如何在Qt中加载和显示图像的资源/例子吗?Qt jpg图像显示
谢谢。
#include ...
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QGraphicsScene scene;
QGraphicsView view(&scene);
QGraphicsPixmapItem item(QPixmap("c:\\test.png"));
scene.addItem(&item);
view.show();
return a.exec();
}
这应该有效。 :)支持的格式列表可以是found here
如果您想要做的唯一事情就是将图像拖放到小部件中,而不需要图形API的复杂性,那么也可以创建一个新的QWidget并将背景设置为样式表。事情是这样的:
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { ... QWidget *pic = new QWidget(this); pic->setStyleSheet("background-image: url(test.png)"); pic->setGeometry(QRect(50,50,128,128)); ... }
这对我有效。谢谢。 – Kamal 2016-01-06 02:22:08
您可以附加图像(作为像素图)一个标签,然后添加到您的布局......
...
QPixmap image("blah.jpg");
QLabel imageLabel = new QLabel();
imageLabel.setPixmap(image);
mainLayout.addWidget(imageLabel);
...
道歉,这是用占碑(QT为Java )所以语法不同,但理论是一样的。
我想在Qt的UI
的simpliest的方式来显示图像.JPG是,请使用QLabel此:
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
QLabel label("<img src='image.jpg' />");
label.show();
return a.exec();
}
我理解你的无奈 “图形视图部件”是不是要做到这一点的最好办法,是的,它是可以做到的,但它几乎完全一样,使用标签(你想要的任何方式)现在上市的所有方式做工作,但...
对于你和其他任何可能遇到这个问题的人来说,他最简单的方法就是这样做(你以任何方式问)。
QPixmap pix("Path\\path\\entername.jpeg");
ui->label->setPixmap(pix);
}
这并不完整,对于不知道如何玩弄图像的人来说,这可能会让人很困惑。 – valkon 2014-07-22 00:40:00
添加标签(一个QLabel)到你要显示的图像的对话框。这个QLabel将实际显示图像。将其大小调整为想要图像显示的大小。
将图像添加到您项目中的资源中。
现在进入QLabel属性并选择您添加到资源的图像像素图属性。确保检查的下一个属性scaledContents萎缩在你想看到它的大小的图像。
就是这样,图像现在显示出来。
使用QPainter
和QImage
画上一个窗口小部件(QMainWindow
)(只是另一种方法)
class MainWindow : public QMainWindow
{
public:
MainWindow();
protected:
void paintEvent(QPaintEvent* event) override;
protected:
QImage image = QImage("/path/to/image.jpg");
};
// for convenience resize window to image size
MainWindow::MainWindow()
{
setMinimumSize(image.size());
}
void MainWindow::paintEvent(QPaintEvent* event)
{
QPainter painter(this);
QRect rect = event->rect();
painter.drawImage(rect, image, rect);
}
int main(int argc, char** argv)
{
QApplication a(argc, argv);
MainWindow mainWindow;
mainWindow.show();
return a.exec();
}
如何才能使用这个与Qt Creator中创建的UI? – DucDigital 2010-02-10 09:54:43
请注意,对于Qt 4.6,此代码有错误。试试这个: int main(int argc,char * argv []) { QString fileName(“C:/aaa..gif”); Q应用程序a(argc,argv); QGraphicsScene scene; scene.addPixmap(QPixmap(fileName)); QGraphicsView view(&scene); view.show(); return a.exec(); } – Narek 2010-06-11 10:49:42
这篇文章中的代码与Qt 4.7.0一起工作 – karlphillip 2011-09-29 14:23:38