Можете да въведете текстовите характеристики tool_tip и whats_this в "qt designer". Те съществуват във всяка маска или slot. Нека приемем, че сте въвели следните низове в характеристиката tool_tip през "qt designer".
static const char *toolTip[] = {
"",
"",
"Byte(0,0)",
"Short(0,0)",
"Bit(0,0)",
"",
""};
Сега можете да използвате този slot, за да чете стойности през Modbus. Не е нужно да програмирате ръчно за елементарни визуализации. Всичко е настроено през "qt designer". Когато минете над информационните точки в pvbrowser клиента, toolTip-ът ще се покаже в малък изскачащ прозорец.
static int slotNullEvent(PARAM *p, DATA *d)
{
if(p == NULL || d == NULL) return -1;
int val,offset,number;
for(int id=1; id<ID_END_OF_WIDGETS; id++)
{
val = 0;
if (strncmp(toolTip[id],"Bit(",4)==0)
{
sscanf(toolTip[id],"Bit(%d,%d)",&offset,&number);
val = modbus.readBit(offset,number);
pvPrintf(p,id,"%d",val);
}
else if(strncmp(toolTip[id],"Byte(",5)==0)
{
sscanf(toolTip[id],"Byte(%d,%d)",&offset,&number);
val = modbus.readByte(offset,number);
pvPrintf(p,id,"%d",val);
}
else if(strncmp(toolTip[id],"Short(",6)==0)
{
sscanf(toolTip[id],"Short(%d,%d)",&offset,&number);
val = modbus.readShort(offset,number);
pvPrintf(p,id,"%d",val);
}
}
return 0;
}