Здесь версия python работает для меня. Исходя из сочетания ответов от @Stefan Reinhardt и @rengel.
class MyQGraphicsView(QtGui.QGraphicsView):
def __init__ (self, parent=None):
super(MyQGraphicsView, self).__init__ (parent)
def wheelEvent(self, event):
# Zoom Factor
zoomInFactor = 1.25
zoomOutFactor = 1 / zoomInFactor
# Set Anchors
self.setTransformationAnchor(QtGui.QGraphicsView.NoAnchor)
self.setResizeAnchor(QtGui.QGraphicsView.NoAnchor)
# Save the scene pos
oldPos = self.mapToScene(event.pos())
# Zoom
if event.delta() > 0:
zoomFactor = zoomInFactor
else:
zoomFactor = zoomOutFactor
self.scale(zoomFactor, zoomFactor)
# Get the new position
newPos = self.mapToScene(event.pos())
# Move scene to old position
delta = newPos - oldPos
self.translate(delta.x(), delta.y())
Если вы используете ASP.NET, вы можете использовать класс Cache
( System.Web.Caching
).
Вот хороший вспомогательный класс: c-cache-helper-class
Если вы имеете в виду кеширование в приложении Windows Form, это зависит от того, что вы пытаетесь сделать, и где вы пытаетесь кэшировать данные.
Мы реализовали кеш за веб-сервисом для определенных методов
(с использованием объекта System.Web.Caching
.)
Однако вы также можете посмотреть блок приложения кэширования. ( См. Здесь) , который является частью Enterprise Library для .NET Framework 2.0.
Если вы хотите кэшировать что-то в ASP.Net, я бы посмотрел на класс Cache. Например,
Hashtable menuTable = new Hashtable();
menuTable.add("Home","default.aspx");
Cache["menu"] = menuTable;
Затем, чтобы получить его снова
Hashtable menuTable = (Hashtable)Cache["menu"];
Вы можете использовать Hashtable
, у нее очень быстрый поиск, нет конфликтов ключей и ваши данные не будут сборщик мусора