Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QT elements don't get updated on change #17721

Open
fcnjd opened this issue Feb 21, 2025 · 4 comments
Open

QT elements don't get updated on change #17721

fcnjd opened this issue Feb 21, 2025 · 4 comments
Labels
blocked/needs-external-fix component/qt Qt fraphical framework p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.

Comments

@fcnjd
Copy link

fcnjd commented Feb 21, 2025

Steps to reproduce:

  1. Open a QT app with a list of normal items which can be toggled, I created a sample with code below as I can't upload it here.
  2. Tab to the list with items and move through them with up and down arrows.
  3. Toggle the items using space

Actual behavior:

When enabling the item NVDA immediately announces the new status - however when disabling the item nothing happens, until you move focus to another item and then come back.

Expected behavior:

Also when disabling an item, the status should be immediately reflected, and not require a focus move to show.

NVDA logs, crash dumps and other attachments:

Python code to run a sample app with a list for testing:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QListWidget, QListWidgetItem, QCheckBox, QAbstractItemView

class SimpleQtApp(QWidget):
    def __init__(self):
        super().__init__()

        self.setWindowTitle("QT App")
        self.setGeometry(100, 100, 300, 400)

        layout = QVBoxLayout()

        normal_list = QListWidget(self)
        normal_list.setSelectionMode(QAbstractItemView.MultiSelection)  # Mehrfachauswahl erlauben
        for i in range(5):  # Beispiel mit 5 Items
            item = QListWidgetItem(f"Normal Item {i+1}")
            normal_list.addItem(item)
        layout.addWidget(normal_list)

        self.setLayout(layout)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    demo = SimpleQtApp()
    demo.show()
    sys.exit(app.exec_())

System configuration

NVDA installed/portable/running from source:

installed

NVDA version:

2024.4.2

Windows version:

Windows 10 22H2

Name and version of other software in use when reproducing the issue:

Python 3.13, PyQT 5

Other information about your system:

Other questions

Does the issue still occur after restarting your computer?

Yes.

Have you tried any other versions of NVDA? If so, please report their behaviors.

No other versions.

If NVDA add-ons are disabled, is your problem still occurring?

Yes.

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Don't consider this as relevant here.

@LeonarddeR
Copy link
Collaborator

Have you tried this with Narrator? I wonder whether it is QT5 failing to raise an event for the new state, or whether it is NVDA that fails here.

@fcnjd
Copy link
Author

fcnjd commented Feb 21, 2025

Oh sorry, I'm afraid you seem to be right: I just tried, and both Narrator and Jaws fail as well. I think it's therefore best to close the issue here, and try to escalate it up to QT itself. I'm sure they must have a similar issue tracker somewhere as well. Thank you for pointing me there.

@fcnjd fcnjd closed this as completed Feb 21, 2025
@github-actions github-actions bot added this to the 2025.1 milestone Feb 21, 2025
@fcnjd
Copy link
Author

fcnjd commented Feb 21, 2025

Created a ticket in the QT bug tracker here:
https://bugreports.qt.io/browse/PYSIDE-3023

@SaschaCowley SaschaCowley reopened this Feb 23, 2025
@SaschaCowley SaschaCowley removed this from the 2025.1 milestone Feb 23, 2025
@SaschaCowley
Copy link
Member

@fcnjd thank you for opening an issue against QT for this issue. I've re-opened this issue as we typically keep issues like this open so we can track them in case there ends up being anything we need to do, and to avoid duplicates being opened

@gerald-hartig gerald-hartig added triaged Has been triaged, issue is waiting for implementation. p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority labels Feb 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked/needs-external-fix component/qt Qt fraphical framework p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.
Projects
None yet
Development

No branches or pull requests

4 participants