QML:使用ListView.OverlayFooter时页脚中的按钮无响应

现在

编辑:问题似乎与Qt 5.15有关,并且不会与Qt 5.14一起出现!

我正在学习QML,并制作了一个由包含ListView的Window组成的应用程序。

我正在尝试添加一个按钮,该按钮应位于窗口底部的固定位置(滚动时不应移动)。因此,我决定将此Button添加到ListView的footer属性,并设置footerPositioning:ListView.OverlayFooter

但是,这样做会使按钮完全无响应。如果我注释掉footerPositioning行,则该按钮将按预期工作,但放置位置错误。

该文档指出:“如果footerPositioning未设置为ListView.InlineFooter,则用户将无法在页脚中按下并轻拂列表。在任何情况下,页脚项目都可能包含可自定义处理鼠标或触摸输入的项目或事件处理程序” ; 在我看来,这并不是说该项目(这里是一个按钮)事件处理不起作用。

这是一个示例代码,显示了无响应的按钮行为:

调试文件

import QtQuick 2.9
import QtQuick.Window 2.9
import QtQuick.Layouts 1.9
import QtQuick.Controls 2.9

Window {

    visible: true
    width: 260
    height: 520

    ListView {
        anchors.fill: parent
        clip: true
        spacing: 6
        model: 4

        delegate: RowLayout {
            width: parent.width
            Rectangle {
                Layout.fillWidth: true
                height: 60
                color: "#ff0000"
            }
        }

        footerPositioning: ListView.OverlayFooter // comment out this line to make the button responsive
        footer: Button {
            height: 180
            width: 90
            background: Rectangle {
                id: backbtn
                color: "gray"
            }

            onClicked: {
                backbtn.color = "#00ff00"
            }
        }
    }
}

main.cpp

#include <QGuiApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
#if defined(Q_OS_WIN)
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif

    QGuiApplication app(argc, argv);
    QQmlApplicationEngine engine;

    engine.load(QUrl(QStringLiteral("qrc:/Debug.qml")));

    if (engine.rootObjects().isEmpty()) {
        return -1;
    }

    return app.exec();
}

如何在保持ListView.OverlayFooter的同时使按钮响应?

现在

正如Thomenson所指出的,此问题与错误有关。在Qt 5.15中,使用启用了剪辑的ListView和ListView.OverlayFooter似乎在页脚中禁用了鼠标事件处理。

从Qt 5.15切换到Qt 5.14可以解决此问题。

有关此问题的bugtracker可以在这里找到:bugreports.qt.io/browse/QTBUG-85302

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用QList <QObject *>作为模型的QML ListView

来自分类Dev

使用QML ListView和C ++ QList <QObject *>时如何具有过渡动画?

来自分类Dev

在Sailsjs中使用本地护照时无响应

来自分类Dev

QML:在ListView中调用的ListElement中定义函数

来自分类Dev

使用路径过渡时对碰撞无响应

来自分类Dev

代码中的QML ListView部分

来自分类Dev

使用可滑动的ListView在QML中制作轮子

来自分类Dev

无法使用按钮关闭窗口:QML

来自分类Dev

将JSON解析为QML中的ListView

来自分类Dev

我如何在ListView之外的QML中访问QSortFilterProxyModel元素

来自分类Dev

使用git commit时Nano无响应-Ubuntu 12.04

来自分类Dev

QML ListView被按钮覆盖-但应在不同的行中

来自分类Dev

在QML中的列内滚动ListView

来自分类Dev

如何在ListView的ListItemComponent中访问qml ContextProperty变量

来自分类Dev

使用ListView中的删除按钮删除行

来自分类Dev

在使用带网关保护的JSON Web服务时IOS中无响应

来自分类Dev

使用按钮更新Android中的ListView

来自分类Dev

Blackberry 10 SDK QML-在ListView外部更改按钮的值

来自分类Dev

QML:在ListView中调用的ListElement中定义函数

来自分类Dev

按qml按钮,但无响应

来自分类Dev

代码中的QML ListView部分

来自分类Dev

浓咖啡:在ListView页脚中单击按钮上的操作

来自分类Dev

QML ListView 不会在模型重置时更新

来自分类Dev

使用 Slider QML 移动 Flickable/ListView

来自分类Dev

QML - 在点击时显示菜单的 ListView 项目

来自分类Dev

如何在主 qml 文件中使用其他 qml 文件中的 qml 类型

来自分类Dev

ListView QML 的 roleName 中的 QSqlQueryModel 引用错误

来自分类Dev

使用 FileDialog 时在 QML 中循环

来自分类Dev

使用按钮处理 ListView 中的滚动

Related 相关文章

热门标签

归档