конфликты между tkinter и pygame.midi

В разделе 12.1 в «Определяющем описании Antlr 4» показано, как получить доступ к комментариям, не используя правила комментариев во всей грамматике. Короче говоря, вы добавляете это в файл грамматики:

grammar Java;

@lexer::members {
    public static final int WHITESPACE = 1;
    public static final int COMMENTS = 2;
}

. Тогда для ваших правил комментариев выполните следующее:

COMMENT
    : '/*' .*? '*/' -> channel(COMMENTS)
    ;

LINE_COMMENT
    : '//' ~[\r\n]* -> channel(COMMENTS)
    ;

Затем в коде запросите токены через getHiddenTokensToLeft / getHiddenTokensToRight и посмотрите раздел 12.1 в книге, и вы увидите, как это сделать.

1
задан Bill 26 March 2019 в 14:13
поделиться

1 ответ

Последний листинг кода включает в себя то, что я узнал. По сути, я не понимал того факта, что «переменные», упоминаемые во многих публикациях как обновляемые, на самом деле были переменными tkinter (StringVar, BooleanVar и т. Д.). Таким образом, переменные python необходимы для установки переменных tkinter. Я также подумал, что mainloop автоматически ищет изменения в переменных tkinter и обновляется автоматически. Другими словами, я не понимал, что мне нужно было установить «trace» для переменных, которые я хотел наблюдать. После этого мне нужно было узнать, что «трассировка» не обновляется автоматически, вы должны использовать ее, чтобы вызвать явное «обновление». В моем фактическом коде (слишком длинном, чтобы публиковать здесь) я использую переменные tkinter, «установленные» событиями midi, чтобы изменить выбор в списке (через «очистить», «активировать», «selection_set» и «посмотреть») и «обновить» "изображения, отображаемые в метке (которые связаны с индексом выбранного элемента). Насколько я могу судить, автоматически ничего не происходит.

0
ответ дан Bill 26 March 2019 в 14:13
поделиться
Другие вопросы по тегам:

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