[PyQt] Problem with QTest

Antonio Valentino antonio.valentino at tiscali.it
Wed Dec 31 08:44:28 GMT 2014

Hi list,
I'm making some experiment with QTest and I encountered a problem.
The following test fails

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import unittest

from PyQt5 import QtWidgets
from PyQt5.QtTest import QTest

class TestCase(unittest.TestCase):
    def setUp(self):
        self.w = QtWidgets.QSpinBox()
        self.w.setValue(12)  # <-- commenting this line all works fine

    def test_value(self):
        value = 34
        QTest.keyClicks(self.w, str(value))
        self.assertEqual(self.w.value(), value)

if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)



FAIL: test_value (__main__.TestCase)
Traceback (most recent call last):
  File "qtestexample3.py", line 18, in test_value
    self.assertEqual(self.w.value(), value)
AssertionError: 12 != 34

Ran 1 test in 0.051s

FAILED (failures=1)

It is not clear to me why it happens.
Also the test pass as expected if I remove the initialization line:

I also made some attempt to use QTest.qWaitForWindowActive,
QTest.qWaitForWindowExposed and also processEvents, but nothing changes.

Does anybody have an idea about what is the problem?

best regards

Antonio Valentino

More information about the PyQt mailing list