QtQuick 模板弹出窗口与 QtQuick 控件弹出窗口
QtQuick Templates popup vs QtQuick Controls popup
Qt Quick 模板弹出窗口与 QtQuick 控件弹出窗口有什么区别?
我从 import QtQuick.Templates 2.0
和 import QtQuick.Controls 2.0
获得的弹出窗口似乎有细微的行为差异。
[1] https://doc-snapshots.qt.io/qt5-5.8/qml-qtquick-controls2-popup.html
模板只是没有图形部分的实际控件的逻辑骨架,控件的弹出窗口只是模板弹出窗口的修饰版本:
//Popup.qml
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
T.Popup {
id: control
implicitWidth: Math.max(background ? background.implicitWidth : 0,
contentWidth > 0 ? contentWidth + leftPadding + rightPadding : 0)
implicitHeight: Math.max(background ? background.implicitHeight : 0,
contentWidth > 0 ? contentHeight + topPadding + bottomPadding : 0)
contentWidth: contentItem.implicitWidth || (contentChildren.length === 1 ? contentChildren[0].implicitWidth : 0)
contentHeight: contentItem.implicitHeight || (contentChildren.length === 1 ? contentChildren[0].implicitHeight : 0)
padding: 12
contentItem: Item { }
background: Rectangle {
border.color: "#353637"
}
}
所以实际上不应该有任何行为差异。
Qt Quick 模板弹出窗口与 QtQuick 控件弹出窗口有什么区别?
我从 import QtQuick.Templates 2.0
和 import QtQuick.Controls 2.0
获得的弹出窗口似乎有细微的行为差异。
[1] https://doc-snapshots.qt.io/qt5-5.8/qml-qtquick-controls2-popup.html
模板只是没有图形部分的实际控件的逻辑骨架,控件的弹出窗口只是模板弹出窗口的修饰版本:
//Popup.qml
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
T.Popup {
id: control
implicitWidth: Math.max(background ? background.implicitWidth : 0,
contentWidth > 0 ? contentWidth + leftPadding + rightPadding : 0)
implicitHeight: Math.max(background ? background.implicitHeight : 0,
contentWidth > 0 ? contentHeight + topPadding + bottomPadding : 0)
contentWidth: contentItem.implicitWidth || (contentChildren.length === 1 ? contentChildren[0].implicitWidth : 0)
contentHeight: contentItem.implicitHeight || (contentChildren.length === 1 ? contentChildren[0].implicitHeight : 0)
padding: 12
contentItem: Item { }
background: Rectangle {
border.color: "#353637"
}
}
所以实际上不应该有任何行为差异。