Qml定义自定义属性组
如何在qml中定义自定义特性组(与anchors特性相同) 用法示例:Qml定义自定义属性组,qml,qt5,Qml,Qt5,如何在qml中定义自定义特性组(与anchors特性相同) 用法示例: Item { anchors { leftMargin: 5 rightMargin: 5 } } 恐怕这并不像你想象的那么简单 据我所知,你有两个选择: 1.-遵循@BaCaRoZzo提供的建议并实施 2。-在C++中编写更复杂的QML类型并将其用于QML文件中。或多或少是@folibis指出的想法。例如: main.cpp #include <QGuiApplication> #i
Item {
anchors {
leftMargin: 5
rightMargin: 5
}
}
恐怕这并不像你想象的那么简单 据我所知,你有两个选择: 1.-遵循@BaCaRoZzo提供的建议并实施 <> 2。-在C++中编写更复杂的QML类型并将其用于QML文件中。或多或少是@folibis指出的想法。例如: main.cpp
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QtQml>
#include "customitem.h"
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
qmlRegisterType<CustomItem>("CustomItem", 1,0, "CustomItem");
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
}
#include "customitem.h"
CustomItem::CustomItem(QObject *parent)
: QObject(parent), m_x(0), m_y(0)
{
}
int CustomItem::x() const
{
return m_x;
}
void CustomItem::setX(int x)
{
m_x = x;
}
int CustomItem::y() const
{
return m_y;
}
void CustomItem::setY(int y)
{
m_y = y;
}
main.qml
import QtQuick 2.5
import QtQuick.Window 2.2
import CustomItem 1.0
Window {
visible: true
CustomItem {
id: customItem
x: 50
y: 50
}
Rectangle {
id: rect
x: customItem.x
y: customItem.y
width: 100; height: 100
color: "red"
}
}
我想只有C++才有可能
import QtQuick 2.5
import QtQuick.Window 2.2
import CustomItem 1.0
Window {
visible: true
CustomItem {
id: customItem
x: 50
y: 50
}
Rectangle {
id: rect
x: customItem.x
y: customItem.y
width: 100; height: 100
color: "red"
}
}