我创建了一个自定义QGraphicsItem.并覆盖boundingRect()和paint().
QRectF myTile::boundingRect() const
{
return QRectF(xPos*10, yPos*10, 10, 10);
}
void myTile::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
QRectF rec = boundingRect();
int gvi = value * 255;
QColor gv(gvi, gvi, gvi, 255);
QBrush brush(gv);
painter->fillRect(rec, brush);
painter->drawRect(rec);
}
Run Code Online (Sandbox Code Playgroud)
然后我用来addItem()向场景添加一个项目.现在我想通过它的位置从现场得到它.我找到了这个itemAt功能.但问题是我不知道const QTransform&是什么deviceTransform.我该QTransform怎么用?
因为我没有实现任何变换QGraphicsItem.这让我很困惑.
我有一个div显示一些可点击的音乐标题.单击它时,它将显示更多详细信息.然后我在可点击的div中也有一个按钮.当我点击按钮.它不会调用按钮的功能而是调用div的功能?有办法解决这个问题吗?谢谢!
$("#myComList").append("<div id="+comListID+" class=listDiv> <p class=comTitle><? echo $row["compositionTitle"] ?>(<?echo $row["year"]?>)</p><button id="+comListID+"btn class=addNewArrBtn>Add new Arrangement</button> <p class=comOri>BY <? echo $row["OrigComposer"] ?></p> </div>");
$('#'+comListID).click(function() {
$(this).find("li").slideToggle('slow', function() {
});
$("#"+comListID+"btn").click(function(){
addNewArr(comListID);
});
Run Code Online (Sandbox Code Playgroud) 我有一个简单的问题.代码非常简短,所以我只是在这里发布
#include <stdio.h>
int main(int argc, const char * argv[])
{
long int p;
printf("FYI: address of first local varaible of main() on the function stack:%p\n",&p);
printf("Enter start address <hex notation> of dump:");
scanf("%lx",&p);
char * q;
q = (char*)p;
printf("%x\n",*q);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
最后一个printf的结果,例如ffffffc8.如果我只想保留最后两个怎么办:c8.我怎样才能做到这一点?我想:
printf("%2x",*q);
和
printf("%x",*q % 256);
但无论是作品.有人可以帮忙吗?谢谢!