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

Update call button to default True when auto_call is False #194

Merged
merged 7 commits into from
Mar 24, 2021

Conversation

jni
Copy link
Contributor

@jni jni commented Mar 24, 2021

Still a couple of tests failing because they didn't expect the new behavior, but getting this started.

@jni
Copy link
Contributor Author

jni commented Mar 24, 2021

@tlambert03 do you have any idea why this is failing?

________________________________ test_auto_call ________________________________

qtbot = <pytestqt.qtbot.QtBot object at 0x7fb73c51ba30>
magic_func = <FunctionGui func(a: str = 'works', b: int = 6, c=7.1) -> str>

    def test_auto_call(qtbot, magic_func):
        """Test that changing a parameter calls the function."""
    
        # TODO: remove qtbot requirement so we can test other backends eventually.
    
        # changing the widget parameter calls the function
        with qtbot.waitSignal(magic_func.called, timeout=1000):
            magic_func.b.value = 6
    
        # changing the gui calls the function
        with qtbot.waitSignal(magic_func.called, timeout=1000):
>           qtbot.keyClick(magic_func.a.native, Qt.Key_A, Qt.ControlModifier)

tests/test_magicgui.py:153: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

args = (<PyQt5.QtWidgets.QLineEdit object at 0x7fb73c51e1f0>, 65, 67108864)
kwargs = {}

    def result(*args, **kwargs):
>       return qtest_method(*args, **kwargs)
E       TypeError: 'PySide2.QtTest.QTest.keyClick' called with wrong argument types:
E         PySide2.QtTest.QTest.keyClick(QLineEdit, Key, KeyboardModifier)
E       Supported signatures:
E         PySide2.QtTest.QTest.keyClick(PySide2.QtWidgets.QWidget, PySide2.QtCore.Qt.Key, PySide2.QtCore.Qt.KeyboardModifiers = PySide2.QtCore.Qt.KeyboardModifier.NoModifier, int = -1)
E         PySide2.QtTest.QTest.keyClick(PySide2.QtWidgets.QWidget, typing.Char, PySide2.QtCore.Qt.KeyboardModifiers = PySide2.QtCore.Qt.KeyboardModifier.NoModifier, int = -1)
E         PySide2.QtTest.QTest.keyClick(PySide2.QtGui.QWindow, PySide2.QtCore.Qt.Key, PySide2.QtCore.Qt.KeyboardModifiers = PySide2.QtCore.Qt.KeyboardModifier.NoModifier, int = -1)
E         PySide2.QtTest.QTest.keyClick(PySide2.QtGui.QWindow, typing.Char, PySide2.QtCore.Qt.KeyboardModifiers = PySide2.QtCore.Qt.KeyboardModifier.NoModifier, int = -1)

../../miniconda3/envs/all/lib/python3.8/site-packages/pytestqt/qtbot.py:626: TypeError

@tlambert03
Copy link
Member

huh... looks like qtbot is using PySide2 but the widget is pyqt5

Copy link
Member

@tlambert03 tlambert03 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

love it. thanks!

@tlambert03 tlambert03 merged commit c50a7e2 into pyapp-kit:master Mar 24, 2021
@jni jni deleted the call-button-default branch March 24, 2021 02:41
@tlambert03 tlambert03 added the enhancement New feature or request label Apr 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants