Should should drop the QString(...) part, since tr() already returns a QString. Otherwise I don't see a problem with the translation of the following code:
tr("Are you sure you want to delete the scene called %1 ?").arg(variable);
In the Use QString::arg() for Dynamic Text part of the Qt documentation you can find more information.