小编Cla*_*diu的帖子

如何更改GTK中的字体大小?

有没有一种简单的方法来改变GTK中文本元素的字体大小?现在,我能做的最好的事情就是set_markup在标签上做,有些傻话:

lbl.set_markup("<span font_desc='Tahoma 5.4'>%s</span>" % text)
Run Code Online (Sandbox Code Playgroud)

这1)要求我设置字体,2)似乎需要很多开销(必须解析标记),3)会让改变按钮等字体大小变得烦人.有没有更好的办法?

python gtk fonts pygtk gtk2

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

从python快速截取**屏幕截图

A PIL.Image.grab()大约需要0.5秒.这只是为了从屏幕上获取数据到我的应用程序,而我没有任何处理.另一方面,FRAPS可以截取高达30 FPS的屏幕截图.我有什么方法可以从Python程序中做同样的事情吗?如果没有,C程序怎么样?(我可以使用Python程序与它接口,可能...)

python optimization performance screen-scraping image

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

当我捕获异常时,如何获取前一帧的类型,文件和行号?

这个问题来看,我现在正在进行一级错误处理.也就是说,我调用一个调用另一个更大函数的函数,我希望它在更大的函数中失败,而不是在较小的函数中.具体的例子.代码是:

import sys, os

def workerFunc():
    return 4/0

def runTest():
    try:
        print workerFunc()
    except:
        ty,val,tb = sys.exc_info()
        print "Error: %s,%s,%s" % (
            ty.__name__,
            os.path.split(tb.tb_frame.f_code.co_filename)[1],
            tb.tb_lineno)

runTest()
Run Code Online (Sandbox Code Playgroud)

输出是:

Error: ZeroDivisionError,tmp2.py,8
Run Code Online (Sandbox Code Playgroud)

但第8行是"print workerFunc()" - 我知道该行失败了,但我想要之前的行:

Error: ZeroDivisionError,tmp2.py,4
Run Code Online (Sandbox Code Playgroud)

python error-handling exception-handling exception

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

Haskell最小/最大双常数

在Haskell中是否有任何方法可以得到常数,这是可以用双精度表示的最大和最小可能的正有理数大于零?

floating-point haskell constants

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

Javascript:在body的onload事件中指定的函数调用了什么参数?

问题类似,我的HTML看起来像这样:

<body id="body" onload="loader()">
</body>
Run Code Online (Sandbox Code Playgroud)

正如本文所述,我总是假设onload没有任何参数.但是,我命名了这个参数,并做了一些深入的检查,发现我有一个看起来像这样的对象:

{originalTarget : DOM, 
preventCapture : function, 
target : DOM, 
cancelable : Bool, 
currentTarget : DOM, 
timeStamp : Int, 
bubbles : Bool, 
type : String, 
eventPhase : Int, 
preventDefault : function, 
initEvent : function, 
stopPropagation : function, 
CAPTURING_PHASE : Int, 
AT_TARGET : Int, 
BUBBLING_PHASE : Int, 
explicitOriginalTarget : DOM, 
preventBubble : function,
isTrusted : Bool, 
MOUSEDOWN : Int, 
MOUSEUP : Int, 
MOUSEOVER : Int, 
//... (more constants)
}
Run Code Online (Sandbox Code Playgroud)

任何人都知道那是什么,或者它的类名是什么?

javascript browser firefox events dom

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

win32:使用 SetCursorPos 与 mouse_event 移动鼠标

使用以下两种技术在窗口中移动鼠标有什么区别吗?

win32api.SetCursorPos((x,y))
Run Code Online (Sandbox Code Playgroud)

对比:

nx = x*65535/win32api.GetSystemMetrics(0)
ny = y*65535/win32api.GetSystemMetrics(1)
win32api.mouse_event(win32con.MOUSEEVENTF_ABSOLUTE|win32con.MOUSEEVENTF_MOVE,nx,ny)
Run Code Online (Sandbox Code Playgroud)

Windows 处理移动的方式是否有什么不同?

python winapi automation input

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

如何获取对象的字段?

我正在创建一个函数将模型对象转换为字典(并且所有foreignkeys字典都是递归的).我从朋友那里了解到我可以通过查看获得模型的字段obj._meta.fields,但我无法在任何地方找到相关文档.

我如何获得模型的字段?我怎样才能解释在_meta课堂上可以找到什么?

python database django orm

7
推荐指数
2
解决办法
5499
查看次数

postgresql:如何从group by子句中获取主键?

这是一个选择一组所需行的查询:

select max(a), b, c, d, e
from T
group by b, c, d, e;
Run Code Online (Sandbox Code Playgroud)

该表在列中有一个主键id.

我想通过从每个行中获取主键来在另一个查询中标识这些行.我该怎么办?这不起作用:

select id, max(a), b, c, d, e
from T 
group by b, c, d, e;

ERROR:  column "T.id" must appear in the GROUP BY clause or be used in an aggregate function
Run Code Online (Sandbox Code Playgroud)

我在其他一些postgresql问题中尝试了这个,但没有运气:

select distinct on (id) id, max(a), b, c, d, e
from T 
group by b, c, d, e;

ERROR:  column "T.id" must appear in the GROUP BY clause …
Run Code Online (Sandbox Code Playgroud)

sql postgresql group-by

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

javascript交互式调试(相当于python的pdb.set_trace())

我正在使用一些javascript代码,我希望能够在函数调用的上下文中运行一个交互式控制台 - 也就是说,基本上就是python的import pdb; pdb.set_trace()完成.有没有办法做到这一点?如果不是,最好的近似是什么?

我目前正在使用Chrome的控制台搞乱事情,我基本上喜欢被放到函数调用的中间,并使用Chrome的控制台来查看局部变量等.

javascript debugging interactive

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

相当于Python的列表排序与键/ Schwartzian变换

在Python中,给定一个列表,我可以通过一个关键函数对它进行排序,例如:

>>> def get_value(k):
...     print "heavy computation for", k
...     return {"a": 100, "b": 30, "c": 50, "d": 0}[k]
...
>>> items = ['a', 'b', 'c', 'd']
>>> items.sort(key=get_value)
heavy computation for a
heavy computation for b
heavy computation for c
heavy computation for d
>>> items
['d', 'b', 'c', 'a']
Run Code Online (Sandbox Code Playgroud)

如您所见,列表不是按字母顺序排序,而是按返回值排序get_value().

C++中有等价的吗?std::sort()只允许我提供自定义比较器(相当于Python items.sort(cmp=...)),而不是关键功能.如果没有,是否有任何经过充分测试,高效,公开可用的等效实现,我可以放入我的代码?

请注意,Python版本仅为key每个元素调用一次函数,而不是每次比较调用两次.

c++ python sorting equivalent

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