小编Edu*_*rdo的帖子

Tkinter:是否可以更改放置的 Frame 的堆叠顺序?

我一直在尝试放置在根窗口中的框架。据我所知,堆叠顺序是在创建帧时确定的,先创建的在后面创建的。.place 的顺序似乎没有任何影响。

有没有办法改变堆叠顺序?

python tkinter

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

Anaconda 升级后 PyCharm 开始索引并且永无止境

今天我将 Anaconda 发行版升级到了 Anaconda3。之后,PyCharm 开始建立索引,并持续了几个小时。

窗口右下角有一个进度条,如下所示: 在此输入图像描述

图像中左侧的数字“247”上下移动。我不知道247或725是什么意思。

(自从我写这篇文章以来,我发现第一个数字是当前堆大小,第二个数字是最大值)。

我知道有时 PyCharm 会对实时 venvs 或其他不应该的目录进行索引,但我没有任何这样的东西;这是该项目的结构: 在此输入图像描述

知道发生了什么事吗?我之前升级过Anaconda没有问题。

pycharm python-3.x anaconda

5
推荐指数
0
解决办法
617
查看次数

pymongo 是否支持 json 模式验证?

在 MongoDB 3.6 中,可以指定一个 json 模式来验证集合中的文档,但我在 pymongo 中没有看到类似的东西。

jsonschema pymongo python-3.x

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

__getitem__、__setitem__ 如何处理切片?

我正在运行 Python 2.7.10。

我需要拦截列表中的更改。我所说的“更改”是指在浅层意义上修改列表的任何内容(如果列表由相同顺序的相同对象组成,则不会更改,而不管这些对象的状态如何;否则,则更改)。我不需要找出列表是如何改变的,只需要知道它已经改变了。所以我只是确保我可以检测到它,并让基本方法完成它的工作。这是我的测试程序:

class List(list):
    def __init__(self, data):
        list.__init__(self, data)
        print '__init__(', data, '):', self

    def __getitem__(self, key):
        print 'calling __getitem__(', self, ',', key, ')',
        r = list.__getitem__(self, key)
        print '-->', r
        return r

    def __setitem__(self, key, data):
        print 'before __setitem__:', self
        list.__setitem__(self, key, data)
        print 'after  __setitem__(', key, ',', data, '):', self

    def __delitem__(self, key):
        print 'before __delitem__:', self
        list.__delitem__(self, key)
        print 'after  __delitem__(', key, '):', self

l = List([0,1,2,3,4,5,6,7]) #1
x = l[5]                    #2
l[3] …
Run Code Online (Sandbox Code Playgroud)

python

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

是否可以向Python列表实例添加方法?

我正在尝试"猴子补丁" 列表的一个实例.请注意,这不是我的清单.我无法控制它的创作.据我所知,这在2.7中是不可能的.我对吗?是否有可能在3.x?

python monkeypatching list

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

scipy.ndimage.interpolate.affine_transform 失败

这段代码:

from scipy.ndimage.interpolation import affine_transform
import numpy as np
...
nzoom = 1.2
newimage = affine_transform(self.image, matrix=np.array([[nzoom, 0],[0, nzoom]]))
Run Code Online (Sandbox Code Playgroud)

失败:

RuntimeError: affine matrix has wrong number of rows
Run Code Online (Sandbox Code Playgroud)

矩阵有什么问题?我也试过matrix=[nzoom, nzoom],根据我对文档的阅读应该做同样的事情,但它以同样的方式失败。

python scipy affinetransform

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

对Tkinter bind_class感到困惑

我定义了GCanvas,它是Canvas的扩展.我的目的是在类级别绑定到GCanvas.它不起作用.

我也尝试绑定到tk.Canvas,它也不起作用.绑定到rootGCanvas实例或与GCanvas实例绑定工作正常.(这些替代方案对我来说都没有用,但我只是试着看看发生了什么.)运行OS X,El Capitan.

import Tkinter as tk

class GCanvas(tk.Canvas, object):

    def __init__(self, master, **kwargs):
        tk.Canvas.__init__(self, master, kwargs)

    @staticmethod
    def enter(e):
        print "enter", e.widget, e.x, e.y

    @staticmethod
    def leave(e):
        print "leave", e.widget

    @staticmethod
    def motion(e):
        print "motion", e.widget, e.x, e.y

approach = "bindinstance"

root = tk.Tk()
gc = GCanvas(root, width=400, height=300)
print "root is", root, "gc is", gc
gc.pack()

if approach == "bindGCanvas":
    print "binding to GCanvas"
    root.bind_class(GCanvas, '<Enter>', GCanvas.enter)
    root.bind_class(GCanvas, '<Leave>', GCanvas.leave)
    #root.bind_class(GCanvas, '<Motion>', GCanvas.motion)
elif approach …
Run Code Online (Sandbox Code Playgroud)

tkinter python-2.7 tkinter-canvas

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

为什么 sklearn.cluster.AgglomerativeClustering 不给我们合并集群之间的距离?

我正在使用sklearn.cluster.AgglomerativeClustering. 它从每个数据点一个集群开始,并迭代地将两个“最接近”的集群合并在一起,从而形成一棵二叉树。什么构成集群之间的距离取决于链接参数。

了解每一步合并集群之间的距离会很有用。当下一个要合并的集群相距太远时,我们可以停止。唉,这似乎在AgglomerativeClustering.

我错过了什么吗?有没有办法恢复距离?

hierarchical-clustering python-3.x scikit-learn

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