Негласно, в анонимного делегата превращаются фактический метод, таким образом, у Вас могли быть немного служебные со вторым выбором, если бы компилятор не принимал решение встроить функцию. Кроме того, любые локальные переменные, на которые ссылается тело анонимного примера делегата, изменились бы по своей природе из-за приемов компилятора для сокрытия того, что это компилируется в новый метод. Больше информации здесь о том, как C# делает это волшебство:
http://blogs.msdn.com/oldnewthing/archive/2006/08/04/688527.aspx
Установить флаг QGraphicItem
QGraphicsItem: : ItemIgnoresTransformations
в true у вас не работает?
Как насчет этого:
#include <QtGui/QApplication>
#include <QtGui/QGraphicsScene>
#include <QtGui/QGraphicsView>
#include <QtGui/QGraphicsRectItem>
int main(int argc, char* argv[]) {
QApplication app(argc, argv);
QGraphicsScene scene;
scene.addText("Hello, world!");
QRect rect(50, 50, 100, 100);
QGraphicsRectItem* recti = scene.addRect(rect);
QGraphicsView view(&scene);
// Set scale for the view
view.scale(10.0, 5.0);
// Set the inverse transformation for the item
recti->setTransform(view.transform().inverted());
view.show();
return app.exec();
}
Как видите, текст увеличен в масштабе, а прямоугольник - нет. Обратите внимание, что это предотвращает не только масштабирование прямоугольника, но и другие преобразования.