Here is one case:
Suppose $A$ has a unique eigenvalue $\lambda$ of greatest absolute value that has algebraic multiplicity 1, with left and right eigenvectors $u^T$ and $v$ having all entries nonzero, normalized so $u^T v = 1$. Since $A$ is a real matrix, its complex eigenvalues come in complex-conjugate pairs, so $\lambda$ must be real.
Then $A^q = \lambda^q v u^T + o(|\lambda|^q)$ as $q \to \infty$. If all entries of $u^T$ and $v$ have the same sign, then all entries of $A^q$ are positive for all sufficiently large $q$ (if $\lambda > 0$) or all sufficiently large even $q$ (if $\lambda < 0$). If some entries of $u^T$ or $v$ have different signs, there will be entries of $A^q$ with different signs for all sufficiently large $q$, and therefore for all positive integers $q$ (if the elements of $A^q$ all have the same sign, so do the elements of $A^{kq}$ for all positive integers $k$).

EDIT: Here's a partial converse. By the Perron-Frobenius theorem, if $A^q$ has all its entries strictly positive, then $A^q$ has a positive eigenvalue $\mu$ which is greater in absolute value than all other eigenvalues, and is simple, with left and right eigenvectors $u^T$ and $v$ having all entries strictly positive. Since the eigenvalues of $A^q$ are the $q$'th powers of eigenvalues of $A$, there must be one eigenvalue $\lambda$ of $A$ with $\lambda^q = \mu$, also having left and right eigenvectors $u^T$ and $v$. Since $A$ is real and $\mu$ is a simple eigenvalue, $\lambda$ must be real, and we are in the situation of the previous paragraph.

Matters can be somewhat more complicated if $A^q$ is nonnegative but never all strictly positive.