uic: add customwidget imports support for python
Fixes: QTBUG-81073 Change-Id: I29659481b14927ffcb8f2cb1829b577a67e4b937 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>bb10
parent
6d545dedad
commit
3f6275960c
|
|
@ -114,11 +114,29 @@ void WriteImports::acceptCustomWidget(DomCustomWidget *node)
|
|||
const auto &className = node->elementClass();
|
||||
if (className.contains(QLatin1String("::")))
|
||||
return; // Exclude namespaced names (just to make tests pass).
|
||||
const QString &qtModule = qtModuleOf(node);
|
||||
const QString &importModule = qtModuleOf(node);
|
||||
auto &output = m_uic->output();
|
||||
if (!qtModule.isEmpty())
|
||||
output << "from PySide2." << qtModule << ' ';
|
||||
output << "import " << className << '\n';
|
||||
// For starting importing PySide2 modules
|
||||
if (!importModule.isEmpty()) {
|
||||
output << "from ";
|
||||
if (importModule.startsWith(QLatin1String("Qt")))
|
||||
output << "PySide2.";
|
||||
output << importModule;
|
||||
if (!className.isEmpty())
|
||||
output << " import " << className << "\n\n";
|
||||
} else {
|
||||
// When the elementHeader is not set, we know it's the continuation
|
||||
// of a PySide2 import or a normal import of another module.
|
||||
if (!node->elementHeader() || node->elementHeader()->text().isEmpty()) {
|
||||
output << "import " << className << '\n';
|
||||
} else { // When we do have elementHeader, we know it's a relative import.
|
||||
QString modulePath = node->elementHeader()->text();
|
||||
// '.h' is added by default on headers for <customwidget>
|
||||
if (modulePath.endsWith(QLatin1String(".h")))
|
||||
modulePath.chop(2);
|
||||
output << "from " << modulePath << " import " << className << '\n';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace Python
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ from PySide2.QtGui import (QBrush, QColor, QConicalGradient, QFont,
|
|||
QRadialGradient)
|
||||
from PySide2.QtWidgets import *
|
||||
|
||||
import GammaView
|
||||
from gammaview import GammaView
|
||||
|
||||
|
||||
class Ui_Config(object):
|
||||
|
|
|
|||
Loading…
Reference in New Issue