Python / Tkinker Combobox事件未启动

时间:2018-03-23 09:46:50

标签: python python-3.x events tkinter callback

我把头发拉出来,确定我的错误是多么简单,我会感到尴尬。我创建了一个Combobox,它应该在每次选中时启动一个函数。但是,当您选择其他选择时,没有任何反应。

以下是代码:

et2.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View view, boolean hasFocus) {
            if (hasFocus) {

                ic = et2.onCreateInputConnection(new EditorInfo());
                keyboard.setInputConnection(ic);
            } else {
                for (String text : texts) {
                    if (et2.getText().toString().equals(et1.getText().toString()) ||
                            (et2.getText().toString()).equals(et3.getText().toString()) ||
                            (et2.getText().toString().equals(et4.getText().toString())) ||
                            (et2.getText().toString().equals(et5.getText().toString())) ||
                            et2.getText().toString().equals(et6.getText().toString()) ||
                            et2.getText().toString().equals(et7.getText().toString()) ||
                            et2.getText().toString().equals(et8.getText().toString()) ||
                            et2.getText().toString().equals(et9.getText().toString())) {
                        if (et2.getText().toString().equals("")) {
                            return;
                        }


                        et2.setError((CharSequence) text);
                        et2.setText("");
                        afficheerr1();
                        return;
                    }
                }
            }
        }
    });

现在功能" pick_acc"只打印出“#34;嗨!"用于测试目的。当我启动程序时会发生这种情况,但无论我做什么都不会。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

您将回调作为参考返回,而不是回调参考。替换:

acc_drop_box.bind('<<ComboboxSelected>>', pick_acc(acc_value))

使用:

acc_drop_box.bind('<<ComboboxSelected>>', lambda var=acc_value: pick_acc(var))