Bug 1597386
| Summary: | TypeError: connect() failed between (int,int,Qt::KeyboardModifiers) and unislot() | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Miro Hrončok <mhroncok> |
| Component: | qscintilla | Assignee: | Rex Dieter <rdieter> |
| Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 29 | CC: | kevin, rdieter |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-08-14 23:15:11 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1387943, 1602361, 1604899 | ||
BTW Code example adapted from https://stackoverflow.com/questions/40002373/qscintilla-based-text-editor-in-pyqt5-with-clickable-functions-and-variables Cross reference for the mu issue: https://github.com/mu-editor/mu/issues/519 Can you retest with https://koji.fedoraproject.org/koji/buildinfo?buildID=1102611 ? Thanks. QObject::connect: No such signal SimplePythonEditor::marginClicked(int,int,KeyboardModifiers)
Traceback (most recent call last):
File "/qscint.py", line 25, in <module>
editor = SimplePythonEditor()
File "/qscint.py", line 12, in __init__
self.marginClicked.connect(self.on_margin_clicked)
TypeError: connect() failed between (int,int,Qt::KeyboardModifiers) and unislot()
I'm seeing something similar with calibre (python2):
calibre 3.27.1 embedded-python: False is64bit: True
Linux-4.18.0-0.rc3.git3.1.fc29.x86_64-x86_64-with-fedora-29-Rawhide Linux ('64bit', '')
('Linux', '4.18.0-0.rc3.git3.1.fc29.x86_64', '#1 SMP Fri Jul 6 14:52:45 UTC 2018')
Python 2.7.15
Linux: ('Fedora', '29', 'Rawhide')
Interface language: None
Turning on automatic hidpi scaling
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
devicePixelRatio: 3.0
logicalDpi: 64.0 x 64.0
physicalDpi: 104.877419355 x 107.576470588
Using calibre Qt style: True
[0.00] Starting up...
[0.01] Showing splash screen...
[0.12] splash screen shown
[0.12] Initializing db...
[0.13] db initialized
[0.13] Constructing main UI...
QObject::disconnect: No such signal HeaderView::sortIndicatorChanged(int,SortOrder)
[0.72] main UI initialized...
[0.72] Hiding splash screen
[1.73] splash screen hidden
The main screen never shows up, it just exits. :( Not sure how to debug this...
I cannot rebuild mu due to this. Setting blocks: PYTHON37, as mu still depens on python 3.6. Actually not vene that, it's failing with:
from PyQt5.Qsci import QsciScintilla, QsciLexerPython, QsciAPIs
E ValueError: PyCapsule_GetPointer called with incorrect name
s/vene/even Filled bz1601917. leaving this open as it is currently unknown whether this got fixed or not. This bug appears to have been reported against 'rawhide' during the Fedora 29 development cycle. Changing version to '29'. I believe this is fixed (at least partially), mu rawhide scratch build succeeded for me, https://koji.fedoraproject.org/koji/taskinfo?taskID=29073146 Thank you. |
This reproducer: import sys from PyQt5.QtWidgets import QApplication from PyQt5.Qsci import QsciScintilla class SimplePythonEditor(QsciScintilla): ARROW_MARKER_NUM = 8 def __init__(self, parent=None): super().__init__(parent) self.setMarginSensitivity(1, True) self.marginClicked.connect(self.on_margin_clicked) print('connected') self.markerDefine(QsciScintilla.RightArrow, self.ARROW_MARKER_NUM) def on_margin_clicked(self, nmargin, nline, modifiers): if self.markersAtLine(nline) != 0: self.markerDelete(nline, self.ARROW_MARKER_NUM) else: self.markerAdd(nline, self.ARROW_MARKER_NUM) if __name__ == "__main__": app = QApplication(sys.argv) editor = SimplePythonEditor() #editor.show() #editor.setText(open(sys.argv[0]).read()) #app.exec() Version-Release number of selected component (if applicable): qscintilla-qt5-2.10.5-1.fc29.x86_64 python3-qscintilla-qt5-2.10.5-1.fc29.x86_64 python3-qt5-5.10.2-0.3.dev1805251538.fc29.x86_64 qt5-qtbase-common-5.11.1-3.fc29.noarch How reproducible: in mock Steps to Reproduce: 1. xvfb-run python3 qscint.py # code form above Actual results: QObject::connect: No such signal SimplePythonEditor::marginClicked(int,int,KeyboardModifiers) TypeError: connect() failed between (int,int,Qt::KeyboardModifiers) and unislot() Expected results: this works on Fedora 28. if you uncomment the commented lines at the end, you can actually click the margin. Additional info: This makes mu FTBFS. Reproduced on Python 3.6 and 3.7 as well.