小编And*_*ade的帖子

Qt Embedded交换颜色位:红色和蓝色

我在ARM显示设备上使用QtEmbedded(4.8.0),帧缓冲区(/ dev/fb0)上的颜色深度为16位.在这种情况下,我们将颜色位RED和BLUE交换.

我们使用以下编译标志:

./configure -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -prefix /home/rchaves/Toolchain -release -opensource -shared -fast -depths 16 -largefile -no-exceptions -no-accessibility -stl -no-sql-mysql -no-sql-psql -no-sql-oci -no-sql-odbc -no-sql-tds -no-sql-db2 -no-sql-sqlite -no-sql-sqlite2 -no-sql-ibase -no-qt3support -no-xmlpatterns -no-multimedia -no-audio-backend -no-phonon-backend -no-svg -no-webkit -no-javascript-jit -no-script -no-scripttools -no-declarative -no-declarative-debug -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -no-openssl -no-nis -no-cups -iconv -no-pch -no-dbus -qt-freetype -no-opengl -qt-gfx-linuxfb -qt-kbd-linuxinput -qt-mouse-tslib -nomake demos -nomake examples
Run Code Online (Sandbox Code Playgroud)

以及执行应用程序的以下参数:

QWS_DISPLAY=LinuxFb:/dev/fb0:depth=16 ./app -qws
Run Code Online (Sandbox Code Playgroud)

这里有应用程序framebuffer(samples)日志:

The framebuffer device was opened successfully.

Fixed screen info:
    id:          DISP3 BG
    smem_start:  0x93800000 …
Run Code Online (Sandbox Code Playgroud)

qtembedded

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

仅迭代 Go 模板中数组的前 n 项

我有一个带有n元素的向量。我正在使用它来呈现模板中的项目。但我只需要渲染 5 个第一个元素。请注意,vector 中的元素可能少于 5 个,在这种情况下将渲染所有元素。有没有办法在模板中做到这一点?

{{range .Categorias}}
    <li class="nav-item">
        {{.Nome}}
    </li>
{{end}}
Run Code Online (Sandbox Code Playgroud)

for-loop go slice go-templates

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

Golang 中的货币格式使用来自 golang.org/x/text/currency 的currency.Symbol

您好,我正在开发一个以货币格式格式化值的函数。我正在使用 golang.org/x/text/currency 来完成这项工作,但我得到的输出是逗号位置的点,没有千位分隔符。

func (produto *Produto) FormataPreco(valor int64) string {
    unit, _ := currency.ParseISO("BRL")
    p := message.NewPrinter(language.BrazilianPortuguese)
    return p.Sprint(currency.Symbol(unit.Amount(float64(valor) / 100)))
}
Run Code Online (Sandbox Code Playgroud)

预期结果应该是 R$ 123.456,78 但我得到 R$ 123456.78

- - 编辑 - -

我做了一个使用硬编码值的版本,但我想要一个使用系统区域设置资源的解决方案。

func (produto *Produto) FormataPreco(valor int64) string {
    p := message.NewPrinter(language.BrazilianPortuguese)
    return p.Sprintf("R$ %.2f", float64(valor/100))
}
Run Code Online (Sandbox Code Playgroud)

go currency-formatting

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

从 runes / int8 数组到字符串的转换,反之亦然

我正在将一个库从 Java 移植到 Go。该库传递所有参数并以字符串形式返回,由于后续步骤,我必须保持这种方式。我注意到当我将 rune/int8 数组转换为字符串并将其转换回 rune/int8 数组时,我得到了不同的值。我相信这是由 Unicode 字符引起的。有没有办法获得相同的值?

package main

import "fmt"

func main() {  

    runes := make([]rune,3)
    runes[0] = 97
    runes[1] = -22
    runes[2] = 99

    s := string(runes)

    fmt.Println(runes)  
    for _,r := range(s) {
        fmt.Println(r)
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

[97 -22 99]
97
65533
99
Run Code Online (Sandbox Code Playgroud)

arrays go

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