File: tests.py

package info (click to toggle)
qt-reactor 0.6.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 96 kB
  • sloc: python: 247; makefile: 2
file content (27 lines) | stat: -rw-r--r-- 632 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import qreactor
qreactor.install()

from qtpy.QtCore import Qt
from qtpy.QtWidgets import QPushButton

from twisted.internet.defer import inlineCallbacks, Deferred
from twisted.internet import reactor


def test_reactor_click(qtbot):
    widget = QPushButton()
    qtbot.addWidget(widget)
    
    # Register callback to record clicks
    clicks = []
    def on_clicked(e):
        clicks.append(e)
    widget.clicked.connect(on_clicked)
    
    def click():
        qtbot.mouseClick(widget, Qt.LeftButton)
    
    # Have twisted trigger a click
    reactor.callLater(0.1, click)
    qtbot.waitUntil(lambda: len(clicks) > 0)