Frank describes a manner of speaking in which you cut out any unnecessary side talk and just get to the issue you're worried about. It's marked by honesty (truthfulness) about a problem. Frank discussions are "straightforward" because they go directly at an issue and there's no fluff in the discussion. Frank tends to be used to discuss something which hasn't been clear in the past but which the frank discussion cleared up and was called for. Like if someone has been eating your sandwich out of the work fridge for weeks and everyone knew it was Mary, you might have a frank discussion about the problem with Mary. Straightforward tends to describe a person's speaking style and even their nature: like John is a straightforward person: he doesn't waste your time building up to ask you something- he just asks.
Trustful isn't a very common word but it means you're full of trust, and trust is the willingness to believe in someone or something when they're expected to or say they will do something. A more common word is trustworthy, which describes someone as being appropriate to trust .
Honest is the attribute of a person which says they tell the truth. It can also describe a discission a statement or really anything else which is representative of telling the truth.
Sincere is when someone says or does something with good intentions. When you compliment someone's car and they think you're being sarcastic, you might clarify and say "no! i was being sincere!" Meanin- you were really trying to compliment them, not be a sneaky jerk.
So- you might say all these words are related, but slightly different and used in particular circumstances.