You need to go back and read the documentation/tutorials.
tex[0].update(window, spr.getPosition().x, spr.getPosition().y);
For starters calling update on a texture while passing a reference to a window causes the texture to copy from the window.
Player1->move(3,0);
Do not do movement inside your event loop, this is wrong. Also when you do movement you need to consider how much time has passed since your game will not run at the same speed on every computer.
if(!tex[0].loadFromFile("data/Meifront.png",sf::IntRect(0,0,60.75f,76.0f))){}
if(!tex[1].loadFromFile("data/Meifront.png",sf::IntRect(0,0,121.5f,76.0f))){}
if(!tex[2].loadFromFile("data/Meifront.png",sf::IntRect(0,0,183.0f,76.0f))){}
Without seeing your png file it looks also as if you do not understand the way
sf::IntRect handles coordinates.
sf::IntRect() takes the position and the size of an rectangle. The way you are doing it now you are going from a small rectangle to a larger rectangle while covering the same area as before.
Texture DocumentationRect Documentation