gpt4 book ai didi

c++ - QQuickWidget 中的组件与 QQuickView 中的组件行为不同

转载 作者:行者123 更新时间:2023-11-28 01:47:46 37 4
gpt4 key购买 nike

当用户在使用 QQuickWidget 时单击窗口上的其他位置时,ToolTip 和 ComboBox 组件不会关闭,但在使用 QQuickView 时它们会关闭(ToolTip 消失并且组合框的弹出窗口关闭)。

如果需要将某些属性设置为 QQuickWidget 以具有与 QQuickView 相同的行为,有什么想法。

更新:
单击按钮将隐藏组合框,但单击窗口上的任何其他位置不会使组合框折叠。
main.cpp

int main(int argc, char *argv[])
{

QApplication app(argc, argv);
QQuickWidget *view = new QQuickWidget;
view->setSource(QUrl("qrc:/resources/qml/test.qml"));
view->show();
return app.exec();
}

测试.qml

import QtQuick 2.6
import QtQuick.Layouts 1.0
import QtQuick.Controls 2.0

Item {
id: test_combo
width: 400
height: 500
RowLayout{
ComboBox {
width: 200
model: [ "Banana", "Apple", "Coconut" ]
}

Button{
text: "test"
}
}
}

最佳答案

我遇到了同样的问题,我的 ComboBoxPopup如果它在 QQuickWidget 中,则当我单击窗口中的其他位置时不会关闭.

ComboBox在 qml Window 中的表现符合我的预期或者在 QQuickView .

我找到的解决方案是自定义 ComboBoxPopup并设置 modalclosePolicy属性如下:

ComboBox {
popup.modal: true
popup.closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutside
model: [ "apples", "oranges", "pears" ]
}

那里有模型,因为您需要一个模型才能看到 Popup在行动中。

关于c++ - QQuickWidget 中的组件与 QQuickView 中的组件行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44240176/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com