Refuse to install event loop hooks when not using `prompt_toolkit` (#14132)...
Refuse to install event loop hooks when not using `prompt_toolkit` (#14132)
Without this, `%gui` is effectively a no-op but the user thinks it
works.
For example. If running `ipython`:
```
In [1]: import matplotlib; matplotlib.use('QtAgg'); from matplotlib import pyplot; pyplot.ion(); pyplot.plot([1, 2, 3, 4])
Installed qt6 event loop hook.
Out[1]: [<matplotlib.lines.Line2D at 0x1ba2f59d2a0>]
```
The window appears and responds as expected.
If running `ipython --simple-prompt`, the user would see the same
output, when in fact no event loop hook was installed since it's not
supported without `prompt_toolkit`. The resulting Qt window is
unresponsive because the event loop is not running, i.e. with
`--simple-prompt`, Qt windows should block (but `pyplot` doesn't/can't
know to do that)
With this PR, the user will see:
```
In [1]: import matplotlib; matplotlib.use('QtAgg'); from matplotlib import pyplot; pyplot.ion(); pyplot.plot([1, 2, 3, 4])
Cannot install event loop hook for "qt" when running with `--simple-prompt`.
NOTE: Tk is supported natively; use Tk apps and Tk backends with `--simple-prompt`.
Out[1]: [<matplotlib.lines.Line2D at 0x170be0c0310>]
```
They'll still get an unresponsive Qt window, but they'll at least be
told this can't work (while anything using Tk will work just fine).