@mrjj - Again, thanks very much for this suggestion. Solved my problem immediately. Had I been aware of this in the past, I would have addressed several glitches much more easily. Will now be a standard part of my toolkit.
As is too often the case, it solved my immediate problem, but now has me curious why I only now discovered that I should have been aware of the underlying problem long ago.
Detailed info follows.
It is often the case that the out-of-the-box QWidgets don't offer quite the capabilities I expect, so I've put wrappers around several to better meet my expectations. In this particular case, I wanted to intercept a couple of QEvents to process on my own while passing the bulk of QEvents on to Qt. I've done this for about a dozen QWidgets, including QLineEdit and QTextEdit. My version of the former I use a lot, the latter much less often.
My mistake was that for all such wrapper widgets, I passed the intercepted to QWidget, not specifically to QLineEdit or QTextEdit as I should have. In any event, Qt was quite unhappy that I passed events intended specifically for QTextEdit to QWidget.
I'm not surprised that this mistake would lead to unexpected outcomes. I am surprised that doing so for QTextEdit led to such different outcomes that QLineEdit, QLabel, QPushButton, QDateEdit, QSpinBox, QCalendar, QComboBox, etc.