小编Cri*_*ian的帖子

更改Python中Tkinter Button的命令方法

我创建了一个新的Button对象,但command在创建时没有指定该选项.在创建对象后,Tkinter中是否有一种方法可以更改命令(onclick)功能?

python user-interface tkinter

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

Android ActivityMonitor失败导致getActivity()永远不会返回

我有一个测试用例,它使用Instrumentation.ActivityMonitor来检查是否发送了Intent.当测试成功时,这可以正常工作.如果断言失败,则下一个测试用例会挂起setUp()中的getActivity()调用.

我应该打个电话来清理吗?

它似乎围绕一个Activity启动,但ActivityMonitor没有抓住它.也就是说,没有触发IntentFilter.测试失败,但新的Activity永远不会被解雇,似乎会干扰下一个getActivity()调用.

这个问题类似于另一个问题,但是这个解决方案(调用super.tearDown())并没有解决我的问题.

public class SimpleActivityTest
    extends ActivityInstrumentationTestCase2<SimpleActivity> {

    private SimpleActivity activity;

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        this.getInstrumentation().setInTouchMode(false);

        Intent intent = new Intent();
        intent.putExtra("DATA_ITEM_1", 1);
        intent.putExtra("DATA_ITEM_2", 2);
        this.setActivityIntent(intent);

        this.activity = getActivity(); // this call hangs on second test
    }

    public void testOtherActivityCalled() {
        IntentFilter ifilter = new IntentFilter(Intent.ACTION_VIEW);
        ifilter.addDataScheme("http");
        ifilter.addDataAuthority("some.domain.com", null);
        ifilter.addDataPath("foobar", PatternMatcher.PATTERN_PREFIX);

        ActivityMonitor activityMonitor = getInstrumentation().addMonitor(
                ifilter, null, false);

        activity.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                // launch other activity somehow
            } …
Run Code Online (Sandbox Code Playgroud)

android unit-testing

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

Python无需进入交互模式即可获取文档字符串

我想在命令行应用程序中获取docstring,但每次调用builtin help()函数时,Python都会进入交互模式.

如何获取对象的文档字符串而没有 Python抓取焦点?

python interactive

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

在YUI中防止键监听器中的默认行为

我有一个网页,我想将Ctrl + N重新映射到不同的行为.我按照YUI的注册Key Listeners示例调用了我的函数,但Firefox仍然创建了一个新的浏览器窗口.事情似乎在IE7上运行良好.如何阻止新窗口显示?

例:

var kl2 = new YAHOO.util.KeyListener(document, { ctrl:true, keys:78 },
             {fn:function(event) {
                     YAHOO.util.Event.stopEvent(event); // Doesn't help
                     alert('Click');}});
kl2.enable();
Run Code Online (Sandbox Code Playgroud)

可以删除默认行为.Google文档会覆盖Ctrl + S以保存文档,而不是显示Firefox的保存对话框.我用Ctrl + S尝试了上面的例子,但Firefox的保存对话框仍然弹出.由于谷歌可以阻止保存对话框出现,我确信有一种方法可以阻止大多数默认键盘快捷键.

javascript firefox yui

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

在Clojure中使用gen-class声明成员变量

我正在学习如何在Clojure中扩展Java类,但我没有看到声明新成员变量的方法; 我只看到一种方法.

(ns test.aclass
  (:gen-class
    :methods [[foo [] String]]))
Run Code Online (Sandbox Code Playgroud)

是否有:members关键字或其他方式声明成员变量?

clojure

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

在Clojure中扩展类的问题:ClassFormatError:重复的字段名称和签名

我正在尝试使用Clojure扩展JButton,但是当我尝试创建自己的构造函数时遇到了一个问题.每当我使用时,当我尝试实例化我的类时:constructors,:gen-class我会不断收到"ClassFormatError:Duplicate field name&signature"消息.

我正在遵循Clojure文档.难道我做错了什么?

例:

(ns test.gui.button
  (:gen-class
   :extends javax.swing.JButton
   :constructors {[] [String]}
   :init init))

(defn -init []
  [["Click Me"] nil])
Run Code Online (Sandbox Code Playgroud)

oop clojure gen-class

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

在 Racket 中查找子字符串的索引

我通读了Racket 的字符串库,但找不到与 Java/JavaScriptindexOf方法等效的函数。也就是说,是否有一个函数可以返回较大字符串中子字符串的第一个字符的索引;最好是带有可选启动参数的。就像是:

(string-index "foobar" "bar")
;;; returns 3
Run Code Online (Sandbox Code Playgroud)

我对列表功能之类的东西很满意member

string racket

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

如何在Emacs Lisp中将函数作为参数传递?

我正在尝试将我创建的函数添加到钩子中,但显而易见的(对我的Schemer头脑)方式似乎不起作用.该功能在2个地方使用,我想保持我的代码DRY,所以没有匿名功能.虽然我可以将我的函数包装在lambda中,但必须有更好的方法.

不起作用:

(defun my-function ()
   ;; do my stuff)

(add-hook 'some-hook-list my-function)
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:

符号的值作为变量是void:my-function

emacs functional-programming elisp dot-emacs

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

在Clojurescript中创建一个新数组

当我使用[]表达式编译时cljs.core.PersistentVector.EMPTY,看起来像[]映射到同一对象的所有表达式.

我读过我不应该使用new Array().这仍然值得关注吗?

因为我打算调用aset这个数组,所以每次调用都需要一个新对象.我该怎么办?

clojurescript

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

在Vala中定义只读属性的更好方法

通过Vala文档阅读,我看到有一个定义属性的简写:

public class Person : Object {
    public int age { get; set; default = 32; }
}
Run Code Online (Sandbox Code Playgroud)

我尝试通过set;从列表中删除来定义只读变量,但是我得到一个编译错误,必须定义getter.我使用了缩写形式:

public class Person : Object {
    private int _age = 32;

    public int age {
        get { return _age; }
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法使用速记符号来定义一个setter?

properties readonly vala

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