PyQt6 v6.12.0 stubs - positional-only parameters missing "/"
Phil Thompson
phil at riverbankcomputing.com
Fri Oct 16 14:40:40 BST 2026
On 16/10/2026 14:31, Grzegorz Bokota wrote:
> pt., 16 paź 2026 o 15:14 Phil Thompson <phil at riverbankcomputing.com>
> napisał(a):
>
>> On 16/10/2026 13:45, Grzegorz Bokota wrote:
>> > Will the solution also contain also change of naming in type stubs to
>> > not
>> > use a0, a1 etc but use proper descriptive names like "watched" and
>> > "event"
>> > from Qt documentation?
>> > https://doc.qt.io/qt-6/qobject.html#eventFilter bool
>> > QObject::eventFilter(QObject *watched, QEvent *event)
>>
>> They will continue to use generated names but the arguments will be
>> positional only so the names will never be used.
>
>
> Thanks, change of name will benefit in more readable documentation, but
> it
> still could depend more on just qt6 documentation.
>
>
>> > Is it also possible to stop providing annotations like QObject | None
>> > for
>> > call parameters, even if Qt documentation suggests that it can't be
>> > None
>> > (also when checking PySide6 documentation, they provide plan QObject)?
>> > I see that it comes from Qt convention to pass objects as pointers, not
>> > references, but in reality I don't seen calling an event handler with
>> > None
>> > in place of Event. But type checkers still complain that the None case
>> > is
>> > not supported, which leads to writing obsolete code.
>>
>> I don't understand that last sentence. The stubs reflect the
>> implementation and the Qt API allows you to pass None/NULL, whether or
>> not it's a good idea. The /DisallowNone/ argument annotation can be
>> used
>> but that requires every call to be analysed individually.
>
>
> Does Qt itself support of `QWidget::mouseMoveEvent` with a null
> pointer?
> I might have got such an event trigger in my Qt application?
Common sense says that it doesn't but I can't recall if it is explicitly
stated.
Phil
More information about the PyQt
mailing list