у меня много разных классов, в них похожие переменные. чтобы не путаться, я даю им одинаковые имена, но qt ругается. тогда я просто пишу static перед всеми объявлениями, и всё работает. правильно ли я делаю? если нет, то как правильно? (классы похожие, давать разные имена переменным не вариант)
Static переменные будут общими для всех объектов класса и не только. Это может привести к неожиданным результатам (если не знать об этом). Если создавать обычные переменные с одинаковыми именами в разных классах и обращаться к ним используя оператор расширения области видимости ("::"), то никаких ошибок быть не должно.
А, вообще, советую прислушаться к совету Пантера.