Добрый день, Антон. Я не знаю, что за нейронку вы используете.
Вернее, знаю, вы написали Gemma4, что-то такое. Нормальные нейронки, ну, по-нормальному, я понимаю,
клод и в меньшей степени кодекс, такой фигней уже не страдают. Вот.
Tkinter, я не знаю, это правильно читается, извините.
Это библиотека, которая, фреймворк, который поставляется вместе с Python. На ней же написан
питоновский редактор кода slash среда программирования по умолчанию, который называется IDLE.
Я не знаю, поставляется она сейчас или нет. Вот. И эта штука выдает абсолютно недоступный код.
То есть от слова совсем вообще. Если вы хотите писать на питоне десктоп, что само по себе решение,
ну, очень популярное, но довольно спорное в контексте, например, инсталляторов и прочего, но я не
хочу это халеварно читать, потому что я не очень-то люблю это решение, но многие любят. Вот.
То вам нужно использовать фреймворк, который называется WXPython. Это маленькие буквы W и X, ну,
WX, W и X, если так удобнее, и дальше в одно слово, собственно говоря, питон, Python, язык питон.
Вот. Этот фреймворк на самом деле является оберткой для другого GUI-фреймворка, который называется
WXWidgets, и написан на языке C++. У него есть парочка, даже парочка, троечка приятных бонусов.
Во-первых, он кроссплатформенный, то есть теоретически, если вы этот код напишете, он запустится на
Windows, Mac и Linux. Второй бонус — это то, что он использует под капотом нативные контроллы, то
есть кнопка — это кнопка, а не какая-то непонятная трясованная фигня, непонятно кем без
accessibility, извините, без accessibility подпорок и костылей, но даже если с костылями, то, ну,
короче, вы поняли. В общем, кнопка — это кнопка, флажок — это флажок, комбо-бокс — это комбо-бокс и
так далее, и так далее. Это, значит, второе.
Третье — это то, что в WXWidgets и, как следствие, в WXPython используются сайзеры так называемые.
Это механизм, который позволяет размещать контент на экране таким образом, чтобы он друг на друга
не нализал, потому что в обычном Windows API, например, если брать Windows, вам нужно считать
координатки. Если вы не будете считать координатки пикселей, то у вас, может быть, Jaws даже будет
или там NVIDIA будет все нормально читать, но на экране, особенно вы можете это посмотреть,
например, с помощью Jaws-курсора, не знаю, как в NVIDIA это делать, вы увидите, что у вас все
mangled, все, короче, слилось в одно, потому что, на самом деле, например, кнопки OK и отмена, они
наложились друг на друга частично, и вы увидите, например, K от OK, какой-нибудь MEN от отмена и
так далее. Ну, короче, вот так вот оно все выглядит. Вот.
С помощью сайзеров, про которые я говорил, этого можно легко избежать. Это такие виртуальные как
бы, виртуальная разметка, которая позволяет сказать, что вот у меня вертикальное что-то, то есть
вертикальное окно, то, что вы сказали, сверху у меня EditBox, ну, поле редактирования, ниже у меня
кнопочка «Сохранить», и они точно друг на друга не налезут. Вот.
Следующий бонус – это то, что, как видите, больше даже трех осталось, оказалось. Следующий бонус –
это то, что у вас бесплатно идет локализация на другие языки, если вам когда-то это надо.
Ну, грубо говоря, там, английский, русский хотя бы. То есть это прям встроенный фреймворк.
Причем с помощью систем GetText, которую очень любим мы локализаторы. Вот. Ну, как-то так.
Используйте WXPython, если хотите именно на Python писать. Это хорошая вещь. NVIDIA, в частности,
ну, вот все гуевые, простите за выражение, то есть все графические штуки, в NVIDIA, в частности,
они написаны именно на нем. Ну, не только в NVIDIA, в многих программах.
Да, все получилось отлично с помощью WxPython, который я установил.
Создал прямо на лету простейшую программку заметок. Все отлично, все работает. Классно, спасибо.
Bblind programming@blind_devs · группа · Технологии