小编Lie*_*yan的帖子

是否有python的交互式图形库

我正在寻找一个Python的交互式图形库.

通过" 图形 ",我的意思是由一组顶点连接的一组节点(不是xy轴上的值图,也不是像素网格).

通过"交互式",我的意思是我可以拖放节点并且我需要能够点击节点/顶点并让库将节点/顶点传递给我的回调,这可以添加/删除节点/顶点或显示信息(我无法在启动时加载完整的图形,因为数据集太大/太复杂;相反,我将根据用户输入仅加载必要的数据切片).

通过Python,我的意思是编程语言Python,图形库应该有CPython绑定.我有Python 2.7和Python 3.1,但如果需要可以降级到2.6.这种语言要求是因为我正在使用的数据集只有Python绑定.

图形库必须支持有向图,并能够自动布局节点.我需要在节点上放置标签.

优选地,布局算法应该将相邻节点放置在彼此附近.它应该能够在我4岁的笔记本电脑中合理地处理100-1000个节点和大约300-4000个顶点(我通常从大约100个节点开始,但数量可能会根据用户输入而扩展).优选地,它应该是具有不太多依赖性的库(除了Gnome之外).开源是首选.

我已经使用Tkinter Canvas编写了一个简单的程序原型,但我需要一个更严肃的图形库来扩展程序.我看过graphviz和matplotlib,但显然它们只是用于处理静态图形,显然需要大量的工作来进行交互式操作(如果我错了就纠正我,我只是简单地看一下) .我也尝试将图形生成为SVG文件并使用Inkscape进行查看,但它太慢并且需要太多内存,并且由于顶点数量太多而变得混乱.

python interactive graph

57
推荐指数
2
解决办法
3万
查看次数

无法将碎片与Android兼容包一起使用

"Fragments for All"中,Android SDK Tech Lead的Xavier Ducrohet表示谷歌将发布SDK Manager的Android兼容性软件包.

我安装了它,但是,我现在该如何使用它?

如何在我的项目中集成Android兼容性包?

android android-fragments android-support-library

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

Python,Popen和select - 等待进程终止或超时

我使用以下命令运行子进程:

  p = subprocess.Popen("subprocess", 
                       stdout=subprocess.PIPE, 
                       stderr=subprocess.PIPE, 
                       stdin=subprocess.PIPE)
Run Code Online (Sandbox Code Playgroud)

此子进程可以立即退出stderr上的错误,也可以继续运行.我想检测这些条件中的任何一个 - 后者等待几秒钟.

我试过这个:

  SECONDS_TO_WAIT = 10
  select.select([], 
                [p.stdout, p.stderr], 
                [p.stdout, p.stderr],
                SECONDS_TO_WAIT)
Run Code Online (Sandbox Code Playgroud)

但它只是返回:

  ([],[],[])
Run Code Online (Sandbox Code Playgroud)

无论哪种条件.我能做什么?

python select subprocess timeout popen

22
推荐指数
2
解决办法
4万
查看次数

如何使用Pycharm来调试python脚本?

我正在尝试使用pycharm.我可以编写代码并运行它.但是,我不知道如何调试代码.当我单击调试按钮时,我得到类似于下图的内容:

在此输入图像描述

在pycharm中调试需要特殊配置吗?这是我的配置:

在此输入图像描述

python debugging pycharm

19
推荐指数
2
解决办法
3万
查看次数

水平滚动图像列表

我正在尝试创建一个水平滚动列表.当Javascript启用时,我将用一个花哨的版本替换它,但我希望标记和CSS在没有Javascript的情况下在合理的现代浏览器上看起来很好(任何以任何方式使用Javascript的建议都是关闭的).

我目前的标记/ CSS工作,但这是我不喜欢它:

  • 当前标记指定了一个非常宽的ul(即10000px)和一个在其上滚动的容器.有没有办法避免这种情况,而是根据其内容扩展宽度(即蓝色背景不应该在那里)?
  • 有两个外来divS(那些ID #extra1,#extra2),其仅仅是造型的目的.有没有办法消除这个额外的div?
  • 如果没有足够的图像来填充页面宽度,滚动条应该会崩溃,但目前它不会因为我有一个非常宽的ul而无法折叠.
  • <a>标签由水平列表分开,我想最好让他们在一起.有没有办法让它们靠近在一起并在CSS中干净地分开它们?

除此之外,您是否知道讨论此类事情的任何教程?我已经看过几个教程,它们展示了整个页面的滚动,我从中获取了一些想法,但我找不到任何展示滚动ul/ol元素的东西.

可能有用的额外信息:

  • 页面的宽度是静态的(即它不是流体/弹性布局).
  • 页面中的图像是从PHP动态生成的,图像数量可以更改.
  • 缩略图的宽度是明确定义的.

剥离现场示例:http://dl.dropbox.com/u/17261360/horiz.html

html css

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

缓存font-face字体

我正在使用@ font-face嵌入在TypeFront上托管的字体,但浏览器不会缓存我的字体(Firefox 3.6.13和Epiphany 2.30.2).这导致每次页面加载时在Firefox和MFOMT(缺少文本的瞬间闪现,我只是在一个上面)的FOUC(Flash of Unstyled Content)在Epiphany上(我第一次使用FOUC/MFOMT)页面加载,但不是每次都加载).

我试图避免在可能的情况下在Base64中嵌入CSS中的字体,我不能自己托管字体.

为什么字体没有缓存?有没有其他免费的字体托管服务没有这个问题?

测试页面:

<!DOCTYPE html>
<html>
    <head>
        <title>TypeFront Cache Test</title>
        <style>
            @font-face {
                font-family: "Journal";
                src: url("http://typefront.com/fonts/825588825.ttf") format("truetype");
            }
            h1 {
                font-family: "Journal";
            }
        </style>
    </head>
    <body>
        <h1>Test text</h1>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果我在Firebug观察,Net标签显示的字体被送达"200 OK"每一个页面加载的时间,而不是"304未修改"或其他迹象表明,正在使用一个缓存的字体(如浏览器甚至没有尝试一个HTTP请求).

HTTP标头:

Response Headers

HTTP/1.1 200 OK
Server: nginx
Date: Sat, 26 Feb 2011 12:57:18 GMT
Content-Type: font/ttf
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Status: 200 OK
Content-Transfer-Encoding: binary
Access-Control-Allow-Origin: *
Content-Disposition: attachment; filename="typefront_735a460727.ttf"
Cache-Control: max-age=31536000
Expires: Sun, 26 Feb 2012 …
Run Code Online (Sandbox Code Playgroud)

browser-cache font-face

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

将数组文字作为宏参数传递

这已经困扰了我一段时间,例如,如果我正在尝试编写这段代码:

// find the length of an array
#define ARRAY_LENGTH(arr) (sizeof(arr)/sizeof(int))   
// declare an array together with a variable containing the array's length
#define ARRAY(name, arr) int name[] = arr; size_t name##_length = ARRAY_LENGTH(name);

int main() {
    ARRAY(myarr, {1, 2, 3});
}
Run Code Online (Sandbox Code Playgroud)

代码给出了这个错误:

<stdin>:8:31: error: macro "ARRAY" passed 4 arguments, but takes just 2
Run Code Online (Sandbox Code Playgroud)

因为它看作ARRAY(myarr, {1, 2, 3});传递ARRAY参数myarr,{12,和3}.有没有办法将数组文字传递给宏?

编辑:在一些较复杂的宏,我需要的,我可能还需要两个或更多的数组传递给宏,所以可变参数宏不起作用.

c c-preprocessor

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

为什么我的toString()重写方法必须公开?

我是Java新手,我正在学习基础知识.我正在研究该toString方法以及如何在我自己的类中覆盖它.我只是想知道为什么toString要这样public?是因为它是在Object课堂上定义的吗?

java object-to-string

14
推荐指数
3
解决办法
2867
查看次数

将字符串注入'cin'

我有一个从std :: cin读取用户输入的函数,我想编写一个将一些字符串插入std :: cin的unittest,这样以后从std :: cin中提取将读取该字符串而不是暂停键盘输入.

理想情况下,我会更改函数签名,以便我可以将自定义istream作为参数传递,但我不能这样做,因为我有一个我无法更改的固定界面.

cin.putback()几乎就是我想要的,但是它一次只插入一个字符,并且它以相反的顺序插入它们(但是我读到某个地方放回原本不存在的字符可能会有危险,尽管该网站没有详细说明原因).我已经尝试了几种方法将字符串注入cin的内部缓冲区cin.rdbuf(),但没有一种方法可以正常工作.我也考虑过使用外部测试脚本或创建子进程,但是我想首先考虑使用纯C++进行测试.

那么,是否有任何方法将字符串放入cin?或者你知道更好的方式来注入我的"假键盘输入"吗?

c++ iostream

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

是否返回了访问者惯用语的参考?

在C++中,可以创建一个返回对私有字段的引用的访问器.

class Cls {
    private:
        int _attr;
    public:
        int& attr() { return _attr; }
};
Run Code Online (Sandbox Code Playgroud)

这样可以如下访问该属性:

// set
c.attr() = 4;

// get
cout << c.attr() << endl;
Run Code Online (Sandbox Code Playgroud)

这种风格的访问者惯用/良好实践吗?一个普通的C++程序员会看到这种访问者的风格会感到惊讶吗?(提示:我第一次看到这个时很惊讶,但有点喜欢这种风格)

c++ idioms reference accessor

12
推荐指数
4
解决办法
1131
查看次数