小编Sim*_*rta的帖子

属性定义运算符的"类型"字段中的点符号

我正在使用Qt 5.2和QtQuick 2.2.在我的项目中,我有几个模块放在分开的目录中.我的问题是我在定义属性时不能在typename中使用点分隔符.例如:

MyRect.qml

import QtQuick 2.2

Rectangle {
   id: root
   property color rectColor: "white"

   color: root.rectColor 
}
Run Code Online (Sandbox Code Playgroud)

MyRectInRect.qml

import QtQuick 2.2
import "./" as MyModule

Rectangle {
   id: root

   property MyModule.MyRect innerRect: MyModule.MyRect {  } 
   // ^ error: Unexpected token `.'; Unexpected token `identifier'
}
Run Code Online (Sandbox Code Playgroud)

我已经在手册中搜索了可以解释这种行为的东西,但看起来在那里没有任何关于它的东西.我猜这个点符号不允许在属性定义的"类型"字段中使用.但有没有办法明确定义哪个模块应该作为一个类型使用哪个组件?因为可能需要声明具有相同类型名称的属性,但是来自不同的模块.

qt qml qt5 qtquick2 qt5.2

5
推荐指数
1
解决办法
187
查看次数

为什么'IS NULL'比blob列上的'length()= 0'慢100倍?

我有一个~90 MB的数据库,主要包括消息附件,包括BLOB列content,存储二进制附件数据.

我认为在BLOB上创建索引是不明智的,因此除了autoindex之外没有其他索引.

为了获得空的附件,我比较了以下查询:

SELECT message_id FROM attachments WHERE content IS NULL;
Run Code Online (Sandbox Code Playgroud)

SELECT message_id FROM attachments WHERE length(content) = 0;
Run Code Online (Sandbox Code Playgroud)

这导致我的用例中的行相同.

为什么第一个需要250ms而第二个只需1-2ms(两者都在SSD上)?这背后的原因是什么?有隐藏的长度索引还是什么?有任何见解赞赏.

附加信息

  1. EXPLAIN QUERY PLAN这两种情况下是

    0 | 0 | 0 | SCAN TABLE附件

  2. 否定IS NOT NULLlength() != 0导致相同的性能差异250ms与2ms.

  3. 在组合查询中,只包含{NULL}列WHERE content IS NULL AND length(content) = 0;需要250 WHERE length(content) = 0 AND content IS NULL;毫秒,需要2毫秒.

sql sqlite

5
推荐指数
1
解决办法
751
查看次数

错误:无法解析'macosx10.9'的SDK路径

我的OS X 10.10构建机器刚刚通过应用商店更新到X Code 7.现在我收到了找不到10.9 SDK的错误.

qmake pro文件

macx {
    QMAKE_MAC_SDK = macosx10.9
    QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.9
}
Run Code Online (Sandbox Code Playgroud)

如何为OS X 10.9 Mavericks用户构建软件?

macos qt qmake qt5

5
推荐指数
1
解决办法
2964
查看次数

将文件从应用程序拖到资源管理器.我的应用程序可以进行复制吗?

在Qml中,我可以使用text/uri-listmime类型开始拖动,以便从我的应用程序启动复制操作到文件浏览器,例如

        Item {
            id: draggable
            anchors.fill: parent
            Drag.active: mouseArea.drag.active
            Drag.hotSpot.x: 0
            Drag.hotSpot.y: 0
            Drag.mimeData: { "text/uri-list": "file:///home/myname/Desktop/avatar.jpeg" }
            Drag.supportedActions: Qt.CopyAction
            Drag.dragType: Drag.Automatic
            Drag.onDragStarted: { }
            Drag.onDragFinished: {
                console.log("Time to copy")
            }
        } // Item
Run Code Online (Sandbox Code Playgroud)

要么

        Item {
            id: draggable
            anchors.fill: parent
            Drag.active: mouseArea.drag.active
            Drag.hotSpot.x: 0
            Drag.hotSpot.y: 0
            Drag.mimeData: { "text/uri-list": "https://farm1.staticflickr.com/713/21777111068_e3310cfb94_k.jpg" }
            Drag.supportedActions: Qt.CopyAction
            Drag.dragType: Drag.Automatic
            Drag.onDragStarted: { }
            Drag.onDragFinished: {
                console.log("Time to copy")
            }
        } // Item
Run Code Online (Sandbox Code Playgroud)

(另请参阅Qt快速示例 - externaldraganddrop)

这很好用给定file:http:URI. …

qt drag-and-drop qml qtquick2

5
推荐指数
1
解决办法
612
查看次数

如何验证 Azure 虚拟机 RDP 证书?

由于某种原因,我的 VM 的 RDP 证书指纹发生了变化。有没有办法让我在 Azure 中验证新的证书指纹?

类型:虚拟机(经典),机器:Basic_A3,操作系统:Windows Server

rdp certificate azure azure-virtual-machine

5
推荐指数
2
解决办法
1994
查看次数

将未知大小的大 blob 写入 SQLite

我正在实现一个流接口,它从流中获取二进制数据(例如 HTTP 下载或 Android content:// 共享)并将其存储到 SQLite blob 中。

有没有办法在不提前知道最终尺寸的情况下使用sqlite3_blob_opensqlite3_blob_write接口?

sqlite3_blob_open 指出:

使用 sqlite3_blob_bytes() 接口来确定打开的 blob 的大小。此接口可能不会更改 blob 的大小。使用 UPDATE SQL 命令更改 blob 的大小。


我当前的代码看起来像这样。设置初始大小 (1):

// set size of attachment
{
    auto stmt = session_->prepare(
                "UPDATE attachments_content "
                "SET content = zeroblob(:size) "
                "WHERE rowid = :rowid");
    stmt.bind(":size", size_);
    stmt.bind(":rowid", rowid);
    stmt.execWithoutResult();
}
Run Code Online (Sandbox Code Playgroud)

获取 blob 句柄 (2),这是一个包装sqlite3_blob_open

    auto blob = session_->openBlob("main", "attachments_content",
                                  "content", rowid,
                                  SmartSqlite::Blob::READWRITE);
Run Code Online (Sandbox Code Playgroud)

写一段数据(3):

        blob.write(data.data(), data.size(),
                   progress.bytesProcessed /* offset */);
Run Code Online (Sandbox Code Playgroud)

鉴于 …

sqlite

5
推荐指数
1
解决办法
1117
查看次数

更改QML ListView的模型不会更改相应的委托

下面我创建一个ListView,其中包含一个CheckBox,其checked属性绑定到模型的checked角色.单击委托时,我想通过更改模型的checked属性来切换CheckBox状态.但之间的结合checkBox.checkedmodel.checked工程仅在第一次用户点击该委托.之后,checkBox始终检查,与model.checked值无关.结果是用户无法取消选中该复选框,我不希望这样.

import QtQuick 2.2
import QtQuick.Controls 1.1

ListView { id: listView
    height: 100
    width: 100

    model: ListModel {
        ListElement { checked: false }
        ListElement { checked: false }
    }

    delegate: Rectangle {
        width: listView.width
        implicitHeight: checkBox.implicitHeight * 1.3

        CheckBox { id: checkBox
            anchors.fill: parent
            text: index + 1
            checked: model.checked
        }

        MouseArea { id: mouseArea
            anchors.fill: parent
            onClicked: {
                var item = listView.model.get(index);

                console.log('old model.checked:', model.checked); …
Run Code Online (Sandbox Code Playgroud)

qt qml qt-quick qtquick2

4
推荐指数
1
解决办法
5169
查看次数

将 rfc3339 字符串转换为带时区的时间戳

有什么方法可以将character varying列中的 rfc3339 字符串正确转换为timestamp with timezone?

Input: "2015-01-28T17:41:52Z"
Expected output: "2015-01-28 17:41:52+00"
Current output: "2015-01-28 17:41:52+01"
Run Code Online (Sandbox Code Playgroud)

我尝试了以下

/* begin dummy data */
WITH messages as (
    select 123 as id, '2015-01-28T17:41:52Z'::text as received
)
/* end dummy data */
SELECT id, received, (to_timestamp(received, 'YYYY-MM-DDThh24:MI:SS')) as d
FROM messages
Run Code Online (Sandbox Code Playgroud)

添加TZortz不能用于输入数据,OF 在 9.4 中可用,在 9.3 中不可用

sql postgresql datetime postgresql-9.3

4
推荐指数
1
解决办法
3531
查看次数

FileList 和 File[] (又名文件数组)有什么区别

当我在浏览器中接收文件时,我会得到一个FileList对象。这种类型的目的是什么?据我所知,它几乎与 TypescriptFile[]或旧的 JavaScript 文件对象数组相同。

据我所知, FileList 较差,因为您无法使用以下之一迭代值或索引

for (let file of files) {
  // read file
}

for (let index in files) {
  // read files[index]
}
Run Code Online (Sandbox Code Playgroud)

我也没有看到历史原因,因为Array of File应该至少和 FileList 一样长。

我在这里错过了什么吗?

javascript drag-and-drop typescript angular

4
推荐指数
1
解决办法
3771
查看次数

启用项目功能时启用 Rust nightly 功能

在库箱中,我想按需提供回溯并使用 Rust 夜间回溯功能。为此,Rust 需要#![feature(backtrace)]在我的板条箱根目录中进行设置。

有没有办法表达我只在设置了创建级别功能“backtrace”时才想要 Rust nightly 功能“backtrace”

不编译伪代码以帮助说明我的想法:

#[cfg(feature = "backtraces")]
#![feature(backtrace)]
Run Code Online (Sandbox Code Playgroud)

rust rust-cargo

4
推荐指数
1
解决办法
1508
查看次数