Я пытаюсь преобразовать пользовательский виджет Qt4, написанный на C++, в пользовательский виджет Python 2.7. Тем не менее, мне не удалось выяснить, как QLabel(parent)
будет написан на Python. Это оригинальный C++ код из файла «.ccp»:Класс Port C++ для PyQt
DocumentWidget::DocumentWidget(QWidget *parent)
: QLabel(parent)
{
currentPage = -1;
setAlignment(Qt::AlignCenter);
}
QLabel(parent)
, кажется, какой-то список инициализатора. Я попытался использовать множественное наследование в Python параллельно, но это приводит к следующей ошибке: Cannot create a consistent method resolution order (MRO) for bases QLabel, QWidget
.
Я пытаюсь перенести код вместо создания оболочки для виджета C++, потому что я не знаю C++ и думаю, что мне придется настраивать виджет дальше в будущем.
Я не тренировался как программист, и это первый день, когда я столкнулся с C++, поэтому не стесняйтесь исправлять меня, даже если я делаю что-то глупое. Я не смущусь.
Это обозначение для вызова конструктора базового класса ([как это] (https://stackoverflow.com/questions/10282787/calling-the-base-class-constructor- in-the-production-class-constructor)), поэтому он будет эквивалентен [вызову 'super. __init__'] (https://stackoverflow.com/questions/576169/understanding-python-super-with-init-methods) – CoryKramer
Да, это выглядит правильно. – CoryKramer