小编bha*_*arc的帖子

root.overrideredirect和<Any-KeyPress>绑定

我希望以下程序退出<Any-KeyPress>活动.

from tkinter import *

root = Tk()
root.overrideredirect(True)
root.bind('<Any-KeyPress>', lambda e: root.destroy())
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

这适用于Windows操作系统.但是,除非我root.overrideredirect(True)从上面的代码中删除该行,否则这在Ubuntu上不起作用.

这是预期的行为吗?

或者有没有办法让我的程序在仍然使用的同时工作root.overrideredirect(True)

编辑


我刚刚在SO看到了类似的问题,Bryan Oakley建议使用root.focus_force()它,但它没有帮助.

编辑2


我使用的root.attributes('-fullscreen', True)不是root.overrideredirect(True)这里建议的那样,现在似乎有效.

python events binding tkinter

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

运行配置 - 运行多个阻止脚本

我想一次运行四个不同的脚本文件中的4个不同的服务器脚本.

我尝试按如下方式设置运行配置:

在此输入图像描述

但是,由于服务器在循环中监听,因此四个程序中的每一个都是阻塞的.

在当前设置中(如上所示),Pycharm运行在下面的"Before Launch"部分中指定的第一个服务器并停在它.

有没有办法一次运行所有四个服务器脚本Run Configurations

pycharm

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

AsyncHTTPTestCase Post 请求传递数据

尝试POST使用AsyncHTTPTestCasePython 3.4 Tornado 4.1 版测试请求。

from tornado.testing import AsyncHTTPTestCase
from myapp  import myclass

class TestFooHandler(AsyncHTTPTestCase):

    def get_app(self):
        return myclass.application

    def test_post_handler(self):
        import urllib.parse
        post_body = urllib.parse.urlencode({"key":"val"})
        response = self.fetch("/foo", method="POST", data=post_body)
        self.assertEqual(response.code, 200)
Run Code Online (Sandbox Code Playgroud)

代码失败并显示消息: unexpected keyword argument 'data'

这是完整的跟踪:

Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/tornado/testing.py", line 120, in __call__
    result = self.orig_method(*args, **kwargs)
  File "/home/gub/App/unit_tests/test_cors.py", line 22, in test_post_handler
    response = self.fetch("/foo", method="POST", data=post_body)
  File "/usr/local/lib/python3.4/dist-packages/tornado/testing.py", line 380, in fetch
    self.http_client.fetch(self.get_url(path), self.stop, **kwargs)
  File "/usr/local/lib/python3.4/dist-packages/tornado/httpclient.py", …
Run Code Online (Sandbox Code Playgroud)

python tornado

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

将数据映射到地面真相列表

我在以下Python列表中有地面真实数据:

ground_truth = [(A,16), (B,18), (C,36), (A,59), (C,77)]
Run Code Online (Sandbox Code Playgroud)

因此,来自以下任何值:

0-16 gets mapped to A, 
17-18 maps to B, 
19-36 maps to C,
37-59 maps to A 
60-77 maps to C
and so on
Run Code Online (Sandbox Code Playgroud)

我正在尝试映射类似数字的时间序列输入

[9,15,29,32,49,56, 69]  to its respective classes like:
[A, A, C, C, A, A,  C]
Run Code Online (Sandbox Code Playgroud)

假设我的输入是一个类似Pandas的系列:

in = pd.Series([9,15,29,32,49,56, 69])
Run Code Online (Sandbox Code Playgroud)

我如何进入该系列[A, A, C, C, A, A, C]

pandas

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

Tkinter SpinBox 获取最后一个值

我有一个 tkinter spinbox 小部件。

    val = IntVar()
    Spinbox(from_=1, to=10, textvariable=val, command=lambda:self.Fn(val.get()))

    def Fn(self, v):
        print v
Run Code Online (Sandbox Code Playgroud)

单击旋转框时,它会打印新旋转框值的值。

相反,我想要以前的 spinbox 值 - 它可能比当前值高一或低一。

有没有办法获得以前的值?

tkinter

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

跳到Dictionary中的下一项

当迭代字典时,我想跳过一个项目,如果它有一个特定的键.我试过类似的东西mydict.next(),但收到了错误信息'dict' object has no attribute 'next'

for key, value in mydict.iteritems():
    if key == 'skipthis':
        mydict.next()
    # for others do some complicated process
Run Code Online (Sandbox Code Playgroud)

如果重要的话,我正在使用Python 2.7.

python dictionary python-2.7

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

装饰器NameError

考虑一下这个简单的装饰演示:

class DecoratorDemo():

    def _decorator(f):
        def w( self ) :
            print( "now decorated")
            f( self )
        return w

    @_decorator
    def bar( self ) :
        print ("the mundane")

d = DecoratorDemo()
d.bar()
Run Code Online (Sandbox Code Playgroud)

运行此命令可获得预期的输出:

now decorated
the mundane
Run Code Online (Sandbox Code Playgroud)

的类型d.bard._decorator确认,<class 'method'>好像我将以下两行添加到上述代码的末尾。

print(type(d.bar))
print(type(d._decorator))
Run Code Online (Sandbox Code Playgroud)

现在,如果我在定义bar方法之前修改上述代码以定义方法,则会_decorator收到错误消息

     @_decorator
NameError: name '_decorator' is not defined
Run Code Online (Sandbox Code Playgroud)

在上述情况下,为什么方法的顺序有意义?

python python-decorators

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

单击 jQuery contextMenu 的表中单元格的值

考虑以下jsfiddle

它使用jQuery contextMenu来显示添加到表格主体的右键单击上下文菜单。

<table border="1">
  <tbody class="context-menu-one">
    <tr>
      <td>R1C1</td>
      <td>R1C2</td>
    </tr>
    <tr>
      <td>R2C1</td>
      <td>R1C2</td>
    </tr>
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

这是jQuery:

$(function() {
    $.contextMenu({
        selector: '.context-menu-one',
        callback: function(key, options) {
            var clickedKey= key;
            //How to get the Value of the clicked cell here ?
            var  m = $(options.$trigger).text();
            window.console && console.log(m) || alert(m);
        },
        items: {
            "edit": {name: "Edit", icon: "edit"},
            "delete": {name: "Delete", icon: "delete"},
        }
    });

    $('.context-menu-one').on('click', function(e){
        console.log('clicked', this);
    })
});
Run Code Online (Sandbox Code Playgroud)

如何获取调用上下文菜单的单元格的值?

例如,通过单击表的第 1 行、1 列来调用上下文菜单应该给我值 …

jquery jquery-plugins

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

Python按索引排序

可以说有一本字典

foo = {'b': 1,  'c':2,  'a':3 }
Run Code Online (Sandbox Code Playgroud)

我想按照字典中项目外观的顺序迭代这个字典.

for k,v in foo.items():
    print k, v
Run Code Online (Sandbox Code Playgroud)

版画

a 3
c 2
b 1
Run Code Online (Sandbox Code Playgroud)

如果我们使用sorted()函数:

for k,v in sorted(foo.items()):
    print k, v
Run Code Online (Sandbox Code Playgroud)

版画

a 3
b 1
c 2
Run Code Online (Sandbox Code Playgroud)

但我需要它们按照它们出现在字典中的顺序i; e

b 1
c 2
a 3
Run Code Online (Sandbox Code Playgroud)

我如何实现这一目标?

python

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

每n次打印后重复打印

给出一个变量n.

现在我想打印 "Yes" n的时间,然后 "No" n

然后一遍又一遍地重复整个事情.

如何以最短的方式在Python中执行此操作.我正在寻找简洁的东西.

python algorithm

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