小编zaq*_*est的帖子

在PyGobject中绘图(python3)

我正在尝试使用PyGObject和python 3编写简单的图形编辑器.我需要使用鼠标绘制不同颜色和宽度的线条.我找到了许多像这样的例子,但没有更复杂.

如何在"绘制"事件之间保存绘制的图像?是否有增量绘图方式或是否必须在每个'draw'事件上重绘窗格?我发现我可以保存路径但是如何保存绘制线条的宽度和颜色?有没有办法在'draw'回调之外创建图像并且只在回调中应用(绘制)它?

就是我现在所拥有的.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from gi.repository import Gtk, Gdk
import os

class App(object):

    main_ui = os.path.join(os.path.dirname(__file__), 'gui.glade')

    def __init__(self):
        self.builder = Gtk.Builder()
        self.builder.add_from_file(self.main_ui)

        self.main_window.connect('destroy', self.quit)
        self.mw_quit_button.connect('clicked', self.quit)

        self.mw_graph_editor_button.connect('clicked', self.show_window, self.graph_editor_window)
        self.graph_editor_window.connect('delete-event', self.hide_window_delete)

        self.ge_menubar_file_quit.connect('activate', self.hide_window, self.graph_editor_window)
        self.ge_toolbar_quit.connect('clicked', self.hide_window, self.graph_editor_window)

        self.ge_drawingarea.connect('motion-notify-event', self.pointer_motion)
        self.ge_drawingarea.connect('motion-notify-event', self.show_coordinates)
        self.ge_drawingarea.connect('draw', self.draw_callback)

        self.path = None
        self.coord = (0, 0)
        self.rgb = (0, 0, 0)

    def __getattr__(self, name):
        obj = self.builder.get_object(name)
        if not obj:
            raise AttributeError("Object {0} has no …
Run Code Online (Sandbox Code Playgroud)

python gtk cairo pygobject python-3.x

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

Siege不发送POST数据

我正试图用siege 3.0.1测试我的网站.但似乎围攻不发送POST数据.这是我从网络浏览器获得的请求

POST / HTTP/1.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cache-Control: no-cache
Content-Length: 130
Content-Type: application/x-www-form-urlencoded
Host: rsc
Origin: http://rsc
Pragma: no-cache
Referer: http://rsc/
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.52 Safari/537.36
X-Forwarded-For: 127.0.0.1
X-Forwarded-Proto: http
X-Real-Ip: 127.0.0.1

came_from=http%3A%2F%2Frsc%2F&login=***&password=***&form.login=%D0%9E%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C
Run Code Online (Sandbox Code Playgroud)

这里是围攻的请求

siege -g "http://rsc/ POST came_from=http%3A%2F%2Frsc%2F&login=***&password=***&form.login=%D0%9E%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C"

POST / HTTP/1.0
Accept: */*
Accept-Encoding: 
Content-Length: 111
Content-Type: application/x-www-form-urlencoded
Host: rsc
User-Agent: JoeDog/1.00 [en] (X11; I; Siege 3.0.1)
X-Forwarded-For: 127.0.0.1
X-Forwarded-Proto: http
X-Real-Ip: 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?我检查了围攻文档,它没有说什么关于POST,除了我应该写POST my=params后url.

post load-testing

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

程序员的错误或gcc-5.1.0错误?

我尝试使用带有优化标志-O1/-O2/-O3/-Og的gcc-5.1.0来编译一大块软件.它给了我警告或者-Wmaybe-uninitialized-Wuninitialized在运行时失败.调试后我找到了导致它的代码,但是我无法理解为什么.我减少了代码以重现失败:

#include <cstdlib>
#include <iostream>

template<class T>
struct foo {
    template<class U>
    char bar(const U &x) {
        //return id(x)[0];
        const T &y = id(x);
        return y[0];
    }

    const T &id(const T &elem) {
        return elem;
    }
};

int main(void) {
    foo<const char *> f;
    char *str = "hello world";
    //std::cout << f.bar((const char *)str) << std::endl;
    std::cout << f.bar(str) << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

gcc-5.1.0给出以下警告:

g++ -Og -Wall -Wextra -Wno-write-strings    test.cpp   -o test
test.cpp: In function …
Run Code Online (Sandbox Code Playgroud)

c++ optimization gcc templates gcc-warning

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

ElasticSearch:术语查询中的数组大小不能超过1000个索引

我有这样的查询:

"filter": { "query": { "terms": { "user": ["jonh", "doe", ..., "asdf"]} } }

对于我们的用例,数组中的用户数量是任意大的.但是,"SearchPhaseExecutionException[Failed to execute phase [query], total failure;当数组大小超过时,ElasticSearch似乎失败了1027.

这是预期的行为吗?如果是这样,有没有办法增加接受数组的大小?

elasticsearch

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