小编dh1*_*1tw的帖子

QML ListView的不同代表

我想知道是否可以使用(几个)不同的代表进行QML ListView.

根据ListView模型中的单个对象,我想用不同的委托来可视化对象.

这段代码解释了我想要实现的目标:

main.qml

import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2

ApplicationWindow {
    title: qsTr("Hello World")
    width: 640
    height: 480
    visible: true

    ListModel {
        id: contactsModel
        ListElement {
            name: "Bill Smith"
            position: "Engineer"
        }
        ListElement {
            name: "John Brown"
            position: "Engineer"
        }
        ListElement {
            name: "Sam Wise"
            position: "Manager"
        }
    }

    ListView {
        id: contactsView
        anchors.left: parent.left
        anchors.top: parent.top
        width: parent.width
        height: parent.height
        orientation: Qt.Vertical
        spacing: 10
        model: contactsModel
        delegate: { …
Run Code Online (Sandbox Code Playgroud)

qt listview qml qtquick2

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

从Delegate访问Listview currentIndex

我有一个QML ListView,其中委托从另一个文件加载它的组件.单击委托项时,我想要更新ListView.CurrentIndexhighlight所选项目.

它工作,当我明确设置idListView.但是,由于我想将委托Component也用于其他ListViews,我正在努力寻找一种如何ListView.currentIndex从委托中访问的通用方法Component.

这是代码:

main.qml

import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2

ApplicationWindow {
    title: qsTr("Hello World")
    width: 640
    height: 480
    visible: true

    ListModel {
        id: contactsModel
        ListElement {
            name: "Bill Smith"
        }
        ListElement {
            name: "John Brown"
        }
        ListElement {
            name: "Sam Wise"
        }
    }

    ListView{
        id: contactsView
        anchors.left: parent.left
        anchors.top: parent.top
        width: parent.width
        height: …
Run Code Online (Sandbox Code Playgroud)

qt qml qtquick2 qqmlcomponent

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

如何使用 ngx_http_headers_module 编译 nginx

我找到了有关如何使用ngx_http_headers_module的参考,但没有找到如何使用此模块编译 Nginx的参考。

任何帮助,将不胜感激。

nginx

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

Map with Callback to 具有接收器的函数的语法

是否可以在 golang 中创建一个包含具有接收器的函数的地图?

我想完成以下工作

函数回调:

func (my *mystruct) doSometing(int parameter1){
// do something
}

func (my *mystruct) doAnotherThing(int parameter1){
// do something
}
Run Code Online (Sandbox Code Playgroud)

包含指向函数的指针的映射

var lookupMap = map[string]func(int){
    "action1" : doSomething,
    "action2" : doAnotherThing
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用,因为回调函数绑定到接收器。Go编译器说:

"undefined doSomething"
Run Code Online (Sandbox Code Playgroud)

我的问题:

创建映射的语法是什么,其中值是绑定到特定接收器的函数?

类似(伪代码):

var lookupMap = map[string]((*mystruct)func(int)){
}
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!

dictionary go

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

追加功能会覆盖切片中的现有数据

我写了一个小应用程序,它记录声卡中的数据,并将数据存储在一个数组中,以便以后处理.

每当有新数据可用时,portaudio就会执行回调record.在回调中,我将数据附加到数组RecData.data.

golang builtin函数append按预期将另一个元素添加到切片中,但无论出于何种原因,还会使用完全相同的数据覆盖数组中的所有现有元素.

我一直试图将问题隔离两天以上,但没有成功.

这是代码的精简版本,它可以工作并显示问题:

package main

import (
    "fmt"
    "time"
//    "reflect"

    "github.com/gordonklaus/portaudio"
)

type RecData struct{
    data [][][]float32
}

func main() {

    var inputChs int = 1
    var outputChs int = 0
    var samplingRate float64 = 48000
    var framesPerBuffer int = 3 //for test purpose that low. Would normally be 1024 or 2048

    rec := RecData{make([][][]float32, 0, 1000)}

    portaudio.Initialize()

    stream, err := portaudio.OpenDefaultStream(inputChs, outputChs, samplingRate, framesPerBuffer, rec.record)
    if err …
Run Code Online (Sandbox Code Playgroud)

arrays portaudio go slice

3
推荐指数
1
解决办法
874
查看次数

posix标志的命名约定

我正在编写一个控制台应用程序,它允许设置几个Posix标志.

这就是我目前使用的.标志中的单词用短划线连接:

  -p, --broker-port int     Broker Port (default 1883)
  -u, --broker-url string   Broker URL (default "localhost")
  -c, --client-id string    MQTT Client Id
  -r, --room string         Room where sensor is located (default "myroom")
  -f, --floor string        Floor, where room is located (default "basement")
Run Code Online (Sandbox Code Playgroud)

但是我也看到过使用CamelCase连接pflags的应用程序.

官方GNU编码标准没有规定如何在posix标志中连接单词.

什么是正确的方法?

谢谢

linux flags posix coding-style

2
推荐指数
1
解决办法
1003
查看次数