注意:Antialiasing not working in QGraphicsView对我不起作用。
我正在尝试为QGraphicsView启用抗锯齿和/或平滑像素图转换。以下是整个计划。它成功地以20%的比例显示图像,但没有任何平滑。
我看过的所有地方,似乎都设置了QGraphicsPixmapItem的转换模式,QGraphicsView的渲染提示应该足够了,但在我的情况下都不起作用。
GraphicsView.pro
QT += core gui widgets
SOURCES += main.cpp
的main.cpp
#include <QApplication>
#include <QGraphicsView>
#include <QGraphicsScene>
#include <QGraphicsPixmapItem>
#include <QMainWindow>
#include <QPixmap>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QMainWindow window;
QGraphicsScene scene;
QGraphicsView view;
QGraphicsPixmapItem item;
QPixmap pixmap;
pixmap.load("../textures/image.jpg");
item.setTransformationMode(Qt::SmoothTransformation);
item.setPixmap(pixmap);
scene.addItem(&item);
view.setScene(&scene);
view.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
view.scale(0.2, 0.2);
window.setCentralWidget(&view);
window.show();
return a.exec();
}