我有一个自定义的 DECLARE @SchemaName sysname = N'dbo',
@TableName sysname = N'[WARNING WARNING, INJECTION ALERT!!!]'; --This solution doesn't suffer from injection any more.
DECLARE @SQL nvarchar(MAX) = N'
WITH XMLNAMESPACES (''https://www.my.website.'' as ns)
SELECT
Q.A AS [@A],
Q.B AS [@B],
Q.C AS [@C],
D.D AS [@D],
N.E AS [@E],
CONVERT(char(10), N.CR, 126) AS [@DN],
''mess'' AS [TN/@Z],
@T2 AS [TN/T]
,(SELECT * FROM ' +QUOTENAME(@SchemaName) + N'.' + QUOTENAME(@TableName) +' FOR XML PATH (''Not''),type)
FROM
[DB].[dbo].[Q] AS Q
LEFT JOIN [DB].[dbo].[D] AS D ON Q.Id=D.Id
LEFT JOIN [DB].[dbo].[N] AS N ON D.DoctId=N.DocId
WHERE
Q.Id=@InboxID
FOR XML PATH (''Not'');';
--PRINT @SQL;
EXEC sys.sp_executesql @SQL, N'@T2 int, @InboxID int', @T2, @InboxID; --Data types guessed.
,它像这样覆盖 nodejs@node69107 ~ $ ls
log nodejs.lock package-lock.json ROOT
nodejs@node69107 ~ $ ls ROOT
esg index.html node_modules package.json package-lock.json README.md server.js src
nodejs@node69107 ~ $ npm install
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path /home/jelastic/package.json
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, open '/home/jelastic/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! /home/jelastic/.npm/_logs/2021-07-22T12_17_18_911Z-debug.log
QGraphicsItem
QGraphicsItem::itemChange()
的 (0, 0) 位于创建项目的位置,而 QVariant CustomItem::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value)
{
if (change == QGraphicsItem::ItemPositionChange) {
QPointF newPos = value.toPointF();
QRectF rect = mapRectToScene(boundingRect());
qDebug() << "newPos" << newPos;
qDebug() << "rect" << rect;
}
return QGraphicsItem::itemChange(change, value);
}
的 (0, 0) 位于场景的左上角;>
我想转换 newPos
,使其与 rect
位于相同的坐标系中。
我尝试了 newPos
中的所有 rect
/ mapTo
函数,但没有任何效果。
有人可以帮忙吗?谢谢
答案 0 :(得分:0)
好的,我想我已经解决了我的问题。我忘记提及的是我的项目是这样初始化的:
auto item = new CustomItem(QPolygonF(QRectF(70, 70, 100, 100)));
我为解决我的问题所做的是首先在 (0, 0) 处初始化项目,然后使用 QGraphicsItem::moveBy() 而不是为我的项目的构造函数提供位置。
auto item = new CustomItem(QPolygonF(QRectF(0, 0, 100, 100)));
item->moveBy(70, 70);
现在 newPos
和 rect
在 itemChange()
函数中给我相同的坐标。