pyqt5 , являющийся связыванием qt5 , имеет почти все функциональные возможности (существуют минимальные известные несовместимости), поэтому документация qt5 : https://doc.qt.io/ допустимо для pyqt5 за исключением небольших исключений.
Хотя целью документации является c ++ , описание классов и методов обобщенно c, поэтому они также справедливо применяются для pyqt5 , с другой стороны, многие примеры написаны на c ++ , но перевод во python во многих случаях тривиален.
Таким образом, чтобы избежать выполнения двойной задачи, кажется, что Riverbank Computing Limited документирует только исключения, указанные в pyqt5 документах: https://www.riverbankcomputing.com/static/Docs/PyQt5/
В следующей части моего ответа будут предложены советы по работе с документацией Qt.
Документация Qt также имеет простую для понимания структуру, например, давайте проанализируем класс QPushButton (https://doc.qt.io/qt-5/qpushbutton.html) ):
* 10 38 * Вверху находится таблица:
Эта таблица показывает, как включить класс в проект C ++, как добавить его в qmake от какого класса он наследует и какие классы наследуют от него. Из вышеизложенного можно извлечь соответствующую информацию для PyQt5, например, к какому субмодулю относится класс: в этом случае мы используем QT += widgets
, который сообщает нам, что он принадлежит субмодулю QtWidgets
, в общем, если Qt += submodulefoo
принадлежит QtSubModuleFoo
(верблюд)
Если вы хотите знать все методы класса QPushButton, вы должны использовать «Список всех членов, включая унаследованные» ссылка под таблицей, в этом случае ссылка будет https://doc.qt.io/qt-5/qpushbutton-members.html, где приведен полный список всех методов класса, перечислений и т. д. c.
Другие советы для понимания преобразования между Qt / C ++ и PyQt5 / Python:
Некоторые методы используют указатели для получения информации, такой как:
преобразованные в PyQt5 как:
lay = QtWidgets.QXLayout()
left, top, right, bottom = lay.getContentsMargins()
process = QProcess()
# ...
ok, pid = process.startDetached()
Некоторые методы сталкиваются с зарезервированными словами, такими как exec
, raise
, print
, et c, чтобы избежать несовместимости, знак подчеркивания добавляется в конце: exec_
, raise_
, print_
и т. д. c
В Qt Q_SLOT и Q_SIGNAL , которые переведены на python и используются через декораторов @pyqtSlot и @ pyqtSignal .
В заключение я рекомендую использовать Qt и Документация PyQt5 в то же время, чтобы знать все функциональные возможности, кроме того, в SO есть много вопросов и ответов о переводах с одного языка на другой, чтобы вы могли учиться там.
С документацией Qt также можно ознакомиться используя инструмент Qt Assistant .