[Qt-creator] R.I.P. for QPlainTextEdit in Qr Creator 17?
Henry Skoglund
henry at tungware.se
Sat Jun 21 16:17:09 CEST 2025
On 2025-06-19 22:51, apoenitz wrote:
> Hi.
>
> On Wed, Jun 18, 2025 at 06:05:08PM +0200, Henry Skoglund wrote:
>> Hi, just updated to Qt Creator 17 and it looks good, however when rebuilding
>> my Qt Creator plugin I got stuck for a bit with this failing:
>>
>> auto pe =
>> qobject_cast<QPlainTextEdit*>(EditorManager::currentEditor()->widget());
>>
>> For almost 15 years that statement served me well and it allowed for example
>> setting a fatter cursor at Qt Creator start (useful on 4K screens) but
>> today, it returns a nullptr :-(
>>
>>
>> Instead, the new incantation for Qt Creator 17 (and onwards?) seems to be:
>>
>> auto pe = qobject_cast<Utils::PlainTextEdit*>(EditorManager::currentEditor()->widget());
>>
>> After that fix, it's smooth sailing (Utils::PlainTextEdit behaves 100%
>> compatible with QPlainTextEdit).
>>
>> But if there was a bit of documentation of this new class in the Utils::
>> Namespace I would be even more happy!
> Sorry to hear that this bit you.
>
> I guess nobody expected that some plugin out there had a hard dependency
> on Editor::widget() being in fact a QPlainTextEdit for text editors.
>
> The fact that Utils::PlainTextEdit behaves like QPlainTextEdit is not
> quite an accident, the idea is add a few features and try to upstream
> it to Qt proper again. For this to happen it has to stay compatible.
>
> In case this upstreaming will be successful there's a good chance that
> Utils::PlainTextEdit will vanish again. But then there'll hopefully
> be a more communication.
>
Thanks for answering, it's all working fine now with the new
Utils::PlainTextEdit.
Perhaps I'm doing it wrong, i.e. I shouldn't take a hard dependency on
the built-in editor being of a certain class.
Say I were to write a new plugin to Qt Creator having only one command,
like F5 in Notepad in Windows: inserting the current date and time where
the text cursor is.
What would the best approach be? (Utils::MacroExpander could probably be
good enough for inserting the date but what about the time.)
More information about the Qt-creator
mailing list