The resolution comes from the Rayleigh resolution - it is the distance from the peak of the main lobe of the response to the first null or zero in the response. In the continuous Fourier Transform this is a sinc() function.
Lets examine the DFT of a rectangular window (note - an arbitrary frequency can be created by multiplying by a complex exponential and using DFT transform properties i.e. frequency shifting).
For the time being lets ignore the sampling rate and just use indices in the time and frequency domain. So if we have a rectangular pulse of length $K$ samples and take a DFT of length $N$ then if $X(m)$ denotes the DFT of the rectangular pulse $x(n)$. Then (see here)
$$X(m) =e^{j\phi(m)} \frac{\sin(\pi mK/N)}{\sin(\pi m/N)}$$
The peak of the response occurs when $m=0$. The first null in the response occurs when
$$\pi m K/N=\pi $$ or $$ m=N/K.$$ Now to convert this index into a frequency - we know that the DFT frequency bin spacing is given by $f_s/N$ where $f_s=1/T$ is the sampling frequency and $T$ is time domain sample spacing. This gives:
$$ f_{res} = m\frac{f_s}{N} =\frac{N}{K} \frac{f_s}{N}=\frac{f_s}{K}=\frac{1}{KT}=\frac{1}{T_0},$$
where $T_0$ is the time duration of the signal (as per your original post).
Note - Using $\Delta f$ to denote resolution is problematic because it is also used to denote the DFT bin spacing - which is not the same thing as resolution.
Note - The phase term $\phi(m)$ is kind of complicated (see the link I provided), but it is irrelevant to this analysis because we are only interested in the magnitude of the response i.e. where is the peak and where is the first zero/null.