小编ert*_*ion的帖子

GtkWidget,改变背景颜色

抱歉,我是 Gtk 的新手,所以这可能是个愚蠢的问题。我使用 Gtk+ 3.0 并有这段代码

GtkWidget *widget;
widget=gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 2);
gtk_box_pack_start(GTK_BOX(widget), some_label, FALSE, FALSE, 0);
Run Code Online (Sandbox Code Playgroud)

如何更改小部件的背景颜色?我正在尝试这样做

GdkColor red = {0, 0xffff, 0x0000, 0x0000};
gtk_widget_modify_bg(widget, GTK_STATE_NORMAL, &red);
Run Code Online (Sandbox Code Playgroud)

和其他一些例子,但没有一个适合我的情况。

gtk gtk3

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

将数组写入二进制文件?

我需要一些帮助 - 下一段代码将一个长的双动态数组写入文件

int nx = 10, ny = 10;
long double **data = new long double *[nx]; 
long double **data_read = new long double *[nx]; 
for (int i = 0; i < nx; i++) {
    data[i] = new long double [ny];
    data_read[i] = new long double [ny];
}

data[4][4] = 10.0;
printf("%LF\n", data[4][4]);

FILE *file = fopen("data", "wb");
fwrite(data, nx * ny * sizeof(data), 1, file);
fclose(file);

file = fopen("data", "rb");
fread(data, nx * ny * sizeof(data_read), 1, file …
Run Code Online (Sandbox Code Playgroud)

c file-io

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

例外的更多pythonic方式?

我有一个方法,必须根据它们的存在返回三个对象中的一个.

我的实施

try:
    return Model.objects.get(param=param)
except Model.DoesNotExist as ex:
    # go to the next verification
    pass

try:
    return RelatedModel.objects.get(param=param).model
except RelatedMolel.DoesNotExist as ex:
    # get the default model
    pass

return Model.objects.get_default()
Run Code Online (Sandbox Code Playgroud)

所以对于python的大师的问题 - 它是一个比内部try/catch块更具pythonic实现还是?

try:
    return Model.objects.get(param=param)
except Model.DoesNotExist as ex:

    try:
        return RelatedModel.objects.get(param=param).model
    except RelatedModel.DoesNotExist as ex:

        return Model.objects.get_default()
Run Code Online (Sandbox Code Playgroud)

python django exception

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

msgpack:haskell&python

我对msgpack的haskellpython客户端之间的差异感到困惑.这个:

import Data.MessagePack as MP
import Data.ByteString.Lazy as BL

BL.writeFile "test_haskell" $ MP.pack (0, 2, 28, ())
Run Code Online (Sandbox Code Playgroud)

还有这个:

import msgpack

with open("test_python", "w") as f:
    f.write(msgpack.packb([0, 2, 28, []]))
Run Code Online (Sandbox Code Playgroud)

给我不同的文件:

$ diff test_haskell test_python
Binary files test_haskell and test_python differ
Run Code Online (Sandbox Code Playgroud)

谁能解释一下,我做错了什么?也许我误解了一些关于ByteString用法的事情?

python haskell msgpack

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

声明后定义lambda函数?

我想做这样的事情(根据某些条件定义一个lambda函数):

auto update;
if(condition)
{
    update = [this]() {this->someField += 1;};
}
else
{
    update = [this]() {this->someField -= 1;};
}

update();
Run Code Online (Sandbox Code Playgroud)

它真的可能以这种或那种方式存在吗?gcc-4.8对此代码的错误是

error: declaration of ‘auto update’ has no initializer
Run Code Online (Sandbox Code Playgroud)

lambda c++11

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

标签 统计

python ×2

c ×1

c++11 ×1

django ×1

exception ×1

file-io ×1

gtk ×1

gtk3 ×1

haskell ×1

lambda ×1

msgpack ×1