Tkinter: невозможно установить значения в combobox [duplicate]

public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int i = scan.nextInt();
        scan.nextLine();
        double d = scan.nextDouble();
        scan.nextLine();
        String s = scan.nextLine();

        System.out.println("String: " + s);
        System.out.println("Double: " + d);
        System.out.println("Int: " + i);
    }
26
задан nbro 11 September 2015 в 19:11
поделиться

2 ответа

Функции grid, pack и place объекта Entry и всех других виджетов возвращают None. В python, когда вы делаете a().b(), результат выражения - это то, что возвращает b(), поэтому Entry(...).grid(...) вернет None.

Вы должны разделить это на две строки следующим образом:

entryBox = Entry(root, width=60)
entryBox.grid(row=2, column=1, sticky=W)

Таким образом вы получите свою Entry ссылку, сохраненную в entryBox, и она выложена, как вы ожидаете. Это имеет бонусный побочный эффект, заключающийся в том, что ваш макет легче понять и поддерживать, если вы собираете все свои grid и / или pack операторы в блоках.

54
ответ дан Mike - SMT 26 August 2018 в 10:21
поделиться

Измените эту строку:

entryBox=Entry(root,width=60).grid(row=2, column=1,sticky=W)

в эти две строки:

entryBox=Entry(root,width=60)
entryBox.grid(row=2, column=1,sticky=W)

То же самое касается label, кстати, как вы уже правильно сделали для grabBtn!

4
ответ дан Cesare 26 August 2018 в 10:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: