RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-413030

Sergio's questions

Martin Hope
Sergio
Asked: 2025-02-14 19:39:18 +0000 UTC

QML:TypeError:对象“包含”的属性...不是一个函数

  • 4

我刚刚开始使用 Qt Quick 但遇到了一个问题。有一堂课

class CanHandler : public QObject
{
    Q_OBJECT
    Q_PROPERTY(QStringList plugins READ plugins NOTIFY pluginsChanged)
    Q_PROPERTY(QStringList interfaceNames READ interfaceNames NOTIFY interfacesChanged)
    Q_PROPERTY(QString selectedPlugin READ selectedPlugin WRITE setSelectedPlugin NOTIFY selectedPluginChanged)
public:
    explicit CanHandler(QObject *parent = nullptr);

    QStringList plugins() const { return m_plugins; }
    QStringList interfaceNames() const { return m_interfaceNames; }
    QString selectedPlugin() const { return m_selectedPlugin; }

signals:
    void pluginsChanged();
    void interfacesChanged();
    void selectedPluginChanged();

public slots:
    void setSelectedPlugin(const QString &pluginName)
    {
        if (pluginName == m_selectedPlugin)
            return;

        m_selectedPlugin = pluginName;
        updateInterfaceNames();
        emit selectedPluginChanged();
    }

private:
    QStringList m_plugins;
    QList<QCanBusDeviceInfo> m_interfaces;
    QStringList m_interfaceNames; // Store names for QML access
    QString m_selectedPlugin;

    void updateInterfaceNames() {
        m_interfaceNames.clear();
        if (!m_selectedPlugin.isEmpty()) {
            m_interfaces = QCanBus::instance()->availableDevices(m_selectedPlugin);
            for (const auto &info : m_interfaces) {
                m_interfaceNames.append(info.name());
            }
        }

        emit interfacesChanged();
    }
};

有CanPluginComboBox.qml

ComboBox {
    id: pluginComboBox
    property var can: null
    model: can ? can.plugins : []
    Component.onCompleted: {
        // Initialize currentIndex based on selectedPlugin
        if (can && can.plugins.contains(can.selectedPlugin)) {
            currentIndex = can.plugins.indexOf(can.selectedPlugin);
        } else if (can && can.plugins.length > 0) {
            currentIndex = 0;
        }
    }
    onActivated: can.setSelectedPlugin(currentText)

    Connections {
        target: can
        ignoreUnknownSignals: true

        onSelectedPluginChanged: {
            if (can && can.plugins.contains(can.selectedPlugin)) {
                currentIndex = can.plugins.indexOf(can.selectedPlugin);
            }
        }
    }
}

有 SettingsPageForm.ui.qml

Page {
    width: 1024
    height: 700

    title: qsTr("Settings")

    Label {
        text: qsTr("You are on Page 2.")
        anchors.centerIn: parent
    }

    CanPluginComboBox {
        // Use the custom component
        id: plugin_ComboBox
        can: can0
        width: 170
    }

    ComboBox {
        id: comboBox_canInterface
        x: 317
        y: 65
        width: 128
        model: can0.interfaceNames
    }
}

在 main.qml 中:

CanHandler {
   id: can0
}

问题出在can.plugins.contains(can.selectedPlugin)) 我收到的错误行中:

TypeError:对象 passthrucan、peakcan、socketcan、tinycan、virtualcan 的属性“contains”不是函数

console.log("can.plugins =", can.plugins)

输出一个数组 qml: can.plugins = [passthrucan,peakcan,socketcan,tinycan,virtualcan] 但数组检查失败

if (Array.isArray(can.plugins)) {
    console.log("can.plugins is array")
} else {
    console.error("can.plugins is not array!")
}
c++
  • 1 个回答
  • 39 Views
Martin Hope
Sergio
Asked: 2025-01-17 13:36:12 +0000 UTC

在嵌入式Linux中的LVDS屏幕上启动控制台[关闭]

  • 6
已关闭。这个问题需要澄清一下。目前不接受对此问题的答复。

想改进这个问题吗? 重新构建问题,使其只关注一个问题。

19 天前关闭。

此消息已于 2 天前更正并提交审核,但重新打开该消息失败:

关闭的根本原因尚未得到纠正。

改进问题

有一块搭载有 Ubuntu 18.04 的 ARM 板。默认情况下,启动在/etc/init.d/rcS 中注册的Qt demo。 UART(ttyS0)中有一个调试控制台。任务:在屏幕上启动标准控制台。或者以某种方式通过 ssh 在屏幕上启动控制台(这可能吗?)。如果您只是删除演示自动启动,屏幕上将不会出现任何内容。

更新。查看内核配置后,一切都变得清晰了: zcat /proc/config.gz | grep CONFIG_VT

CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set

zcat /proc/config.gz | grep CONFIG_FRAMEBUFFER_CONSOLE

# CONFIG_FRAMEBUFFER_CONSOLE is not set
linux
  • 1 个回答
  • 49 Views
Martin Hope
Sergio
Asked: 2021-11-27 18:25:15 +0000 UTC

初始化作为类成员的对象向量(使用接受值的构造函数)

  • -1

_rheos 向量中的 MCP 类对象的数量是事先不知道的。 std::vector我是第一次使用。请戳你的鼻子,怎么了。没有必要使用向量,但我没有找到动态对象数组的另一种解决方案。

class MCP
{
public:
    MCP (mbed::SPI& spi, PinName cs) : _spi(spi), _cs(cs) {}
private:
    mbed::SPI& _spi;
    mbed::DigitalOut _cs;
};
class Load
{
public:
    Load(uint8_t load_qty, mbed::SPI& spi, PinName rs) : _rs(rs)
    {
        for (register uint8_t i = 0; i < load_qty; i++)
        {
            _rheos.emplace_back(spi, NC);  //Здесь всё падает
        }
    }

private:
    mbed::DigitalOut _rs;
    std::vector<MCP> _rheos;
};
int main()
{
    mbed::SPI spi1(MOSI, MISO, SCK);
    Loads RLoads(7, spi1, BUTTON1); 
}

编译成功,但不起作用。

c++
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5