小编gri*_*yvp的帖子

GTK在哪里找到与gtk_image_new_from_icon_name()一起使用的图标名称?

GTK可以通过"当前图标主题的图标"的名称构建图像.例如:

#!/usr/bin/env python
import gtk; wnd=gtk.Window(); img=gtk.Image();
img.set_from_icon_name( "go-jump", gtk.ICON_SIZE_BUTTON );
wnd.add( img ); img.show(); wnd.show(); gtk.main()
Run Code Online (Sandbox Code Playgroud)

这将显示一个内部带有漂亮箭头的窗口.但是 - 只在ubuntu上.在Windows或OSX上,它将显示窗口内部带有"无图像"图标:(.所以我的问题是 - GTK保持图标名称如"跳转"?是否有一些列表或规格可用,如股票图标?也许它是我可以使用一些GTK API来列出这些图标吗?

gtk

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

是否可以在gVIM中清除消息历史记录?

在gVIM中,我使用echomsg命令从我的脚本输出调试消息(用于调试目的)和messages命令来查看它们.一切正常,但vim messanging工具显示所有消息 - 来自所有脚本,系统,通知等.是否有一些方法来清除消息列表(在我执行我要调试的操作之前手动)所以我可以轻松地从我的脚本中看到消息?或者也许我可以使用一些过滤器来查看我的消息?

vim

13
推荐指数
2
解决办法
2651
查看次数

python中奇怪的闭包行为

我有一个简单的代码:

def get():
    return [lambda: i for i in [1, 2, 3]]

for f in get():
    print(f())
Run Code Online (Sandbox Code Playgroud)

正如我的python知识预期的那样,输出为3 - 整个列表将包含最后一个值i.但这是如何在内部工作的?

AFAIK,python变量只是对象的引用,因此第一个闭包必须包含对象的第一个i引用 - 这个对象肯定是1,而不是3 O_O.如何发生python闭包包含变量本身而不是对象这个变量引用?它是否将变量名称保存为纯文本,某些"变量引用"还是什么?

python closures

13
推荐指数
2
解决办法
439
查看次数

是否可以在最新的Confluence中启用标记编辑器?

从Confluence 4.0开始,删除了'wiki'标记语言,支持富编辑.但在我的公司开发人员不喜欢丰富的编辑,并希望我们熟悉的标记纯文本编辑器.是否可以在Confluence中重新启用wiki标记编辑?也许存在一些插件或修改?可以在标记和内部omg-woot-xml表示之间进行100%转换 - 大多数文档都具有简单的布局,对于硬编辑,可以使用丰富的编辑.

markup wiki confluence

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

从python以编程方式更改nginx配置文件的任何好方法?

我有一个动态改变nginx配置文件(nginx.conf)的python脚本.由于nginx配置不是ini格式化的,我目前使用一些regexp来解析和修改文件内容.这是以编程方式更改nginx配置的唯一方法还是更好的方法?

python nginx

13
推荐指数
3
解决办法
8014
查看次数

Visual C++ 2010:如果我将"const"添加到一个比较中,为什么"signed/unsigned mismatch"会消失?

我有以下简单的C++代码:

#include "stdafx.h"
int main()
{
    int a = -10;
    unsigned int b = 10;
    //  Trivial error is placed here on purpose to trigger a warning.
    if( a < b ) {
        printf( "Error in line above: this will not be printed\n" );
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

使用Visual Studio 2010(默认C++控制台应用程序)编译,它warning C4018: '<' : signed/unsigned mismatch" on line 7 按预期方式提供(代码有逻辑错误).

但如果我unsigned int b = 10;变成const unsigned int b = 10;警告就消失了!这种行为有哪些已知原因?gcc无论如何都显示警告const. …

c++ visual-studio-2010

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

如何将函数和参数放入python队列?

我有一个包含2个线程的python程序(让我们将它们命名为'source'和'destination').源线程有时会使用一些参数将消息发布到目标线程.比目标线程选择一条消息,它必须使用保存在消息中的历史记录调用相应的函数.

这个任务可以通过多种方式解决.容易的是在目标线程的消息选择周期中调整一个大的'if ... if..if'并根据收到的消息类型和保存的参数调用函数.但这将导致巨大的代码(或大查找表),并且添加新的消息/处理函数将演变为在消息选择周期中编写代码的额外步骤.

由于python将函数视为第一类对象并具有元组,因此我想在消息中放置函数和参数,因此,目标线程选择一条消息,它只是调用保存在消息中的函数,而不知道它是什么函数.

我可以为具有指定数量的参数的函数编写代码:

from Queue import *
from thread import *
from time import *

q = Queue()

def HandleMsg( arg1, arg2 ) :
  print arg1, arg2

def HandleAnotherMsg( arg1, arg2, arg3 ) :
  print arg1, arg2, arg3

def DestinationThread( a ) :
  while True :
    (f, a, b) = q.get()
    f( a, b )

start_new_thread( DestinationThread, ( 0, ) )
print "start"
sleep( 1 )
q.put( (HandleMsg, 1, 2) )
sleep( 1 )
print "stop"
Run Code Online (Sandbox Code Playgroud)

问题是:如何修改代码,以便我可以把()一个函数与队列中的任意数量的参数放在一起?例如HandleAnotherMsg()?使用q.put((HandleAnotherMsg,1,2,3))会出现编译错误:(

python multithreading

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

如何在vim中覆盖默认语法高亮?

在VIM中,我需要执行一个简单的任务 - 突出显示"("和")".我可以通过发出两个命令轻松地做到这一点:

:syn match really_unique_name display "[()]"
:hi really_unique_name guifg=#FF0000
Run Code Online (Sandbox Code Playgroud)

但是如果我添加相同的命令(当然没有':')来清空.vimrc并重新启动VIM - "("和")"在.cpp文件中不再突出显示.看来,如果我创建/加载.cpp文件,VIM会加载语法文件,覆盖我的自定义高亮显示.如何在我的.vimrc文件中配置高亮显示,以便它在标准语法定义之后发生,或者不受标准语法定义的影响?

vim vim-syntax-highlighting

12
推荐指数
3
解决办法
8059
查看次数

在vim中为c ++着色的大括号和运算符?

我想在vim中为c ++定制语法着色.但是,不幸的是,我仍然找不到braces(){} []和c + c ++/objc/objcpp的运算符+ - /*%的正确名称.任何vim大师谁可以建议我必须'hi'什么名称,以便为所提到的项目设置颜色?

vim syntax-highlighting

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

算法模仿人类的鼠标运动吗?

我需要测试一种将鼠标移动视为"手势"的软件.对于这样的任务,我需要模拟从A点到B点的鼠标移动,而不是直线,但是当真正的鼠标移动时 - 有曲线,有点锯齿状等等.是否有任何可用的解决方案(算法/代码本身,不是我可以使用的库/ exe)?

当然,我可以自己写一些简单的正弦数学,但这将是一个非常粗略的仿真人类的手领导鼠标.也许这样的任务已经解决了很多次,我可以借用现有的代码吗?:)

algorithm mouse gesture

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