Форум сайта python.su
Добрый день. Можно ли на базе виджета Text в tkinter сделать текст с колонками (наподобие газетной статьи)? Можно ли сделать несколько колонок в единственном виджете? Можно ли автоматически подгонять эту структуру при изменении размеров окна?
P.S. Раз уж спросил про автоподгонку, задам дополнительный вопрос, чтобы не плодить новые темы на форуме. Предположим, я создал фрейм с графическими кнопками (toolbar). У кнопок фиксированный размер (рисунки для них в GIF). Что делать, если пользователь поставил слишком низкое разрешение экрана или же задал такие размеры окна, при которых тулбар оказывается усеченным (не влезает по горизонтали в видимое пространство окна)? Есть ли какие-нибудь механизмы, чтобы, например, автоматически переносить кнопки в другой ряд или, может, можно сделать кнопки на базе векторных рисунков, чтобы их размер подгонялся автоматически?
Офлайн
vanvanov
Добрый день. Можно ли на базе виджета Text в tkinter сделать текст с колонками (наподобие газетной статьи)? Можно ли сделать несколько колонок в единственном виджете? Можно ли автоматически подгонять эту структуру при изменении размеров окна?
Офлайн
4kpt_III
Потому что колонок может быть произвольное количество. Кроме того, увеличивается объем кода.
Офлайн
vanvanovА чем определяется их количество? А кто мешает в рантайме напихивать произвольное число виджетов в менеджер размещения?
Потому что колонок может быть произвольное количество
Офлайн
doza_andВ целом, длительностью текста, т.е. сколько помещается на экране колонок, столько и желательно сделать.
А чем определяется их количество?
А кто мешает в рантайме напихивать произвольное число виджетов в менеджер размещения?Т.е. все равно вручную просчитывать, сколько текста может поместиться на каждый виджет? Это же менее удобно, чем если бы уже был, например, системный виджет TextColumn, который сам бы просчитывал все эти вещи. К тому же, в рамках одного виджета удобнее перемещаться по тексту. Вдобавок, виджеты не нужно будет синхронизировать между собок в случае перемотки и т.п., т.е., меньше вручную писать кода.
Там системы верстки и используются Latex, или веб решения для верстки htmlНу, обычно используют InDesign, но эти решения здесь все равно не подходят. Мне править текст внутри колонок не нужно, но потенциально у пользователя будет возможность увеличить шрифт, и тогда текст “поедет”, и как результат, придется снова просчитывать, сколько текста влезает. Я просто думал, что есть возможность уменьшить ручную работу.
Офлайн
vanvanovИнтересно. У меня приятель в типографии работает. Мы с ним частенько разные темы обсуждаем. InDesign они не используют. Правда у них не офсет. Если у вас выбран основной инструмент или их кластер то думаю продуктивнее управлять из Питона этими пакетами и программами чем пытаться воспроизвести довольно специфические особенности на десктопе.
Ну, обычно используют InDesign
vanvanovУчитывайте что мы тут просто программисты. Сейчас вам предложат кучу решений как сделать колонки шириной в одну букву. И предложат ограничиться моноширинными шрифтами чтобы колонки красивее получились.
сколько помещается на экране колонок,
Отредактировано doza_and (Сен. 12, 2015 19:17:54)
Офлайн
doza_andЯ проработал какое-то время в издательстве, но в данном случае верстка у меня не приоритет.
Правда у них не офсет.
Сейчас вам предложат кучу решений как сделать колонки шириной в одну букву.Пускай. Одна буква - это переменная
По поводу такого многоколоночного виджета давайте кинем клич. Читатели если бы такой виджет был вы бы им воспользовались? Я нет.Ну, чтобы был понятен юзкейс, взгляните на эту страницу. Я хочу получать примерно такое же разделение, как между названием словаря и термином (вообще, в идеале неплохо бы каждый термин делать с новой строки или в виде колонки или в виде какой-нибудь лесенки). А получается вот такая каша. При этом мне нужен анализ текста, поэтому веб-движок не использую.
Не представляю где это может оказаться удобно в десктоп приложенииЯ, вообще говоря, не поклонник “Метро” и приложений под него, но взгляните, как выглядит новостное приложение. По-моему, вполне достойно.
Офлайн
Да стало гораздо яснее. Это текст.
vanvanovОсталось прояснить почему веб-движок и анализ текста противоречат. Друг другу. (Прошу извинить но последнее время у меня почти все что было Tkinter,Qt и т.п. переехало под web). В Qt,wxWidgets есть контролы для отображения html. Там должно хватить функционала на ваши нужды.
При этом мне нужен анализ текста, поэтому веб-движок не использую.
Офлайн
doza_andЕсли там можно удалять тэги, копировать и выделять текст в тэгах, то, возможно, пойдет. Я просто помимо tkinter ничего еще не изучал. Tk неплохо так уже кровушки попил, поэтому побоялся осваивать новый GUI.
В Qt,wxWidgets есть контролы для отображения html. Там должно хватить функционала на ваши нужды.
Jтделить ключик и значение табуляцией. И задать ей размер побольше. Она исходно для этого и предназначена.Спасибо за намек. Получилось вот так. Немного читаемее, наверное. Но в идеале, я думаю, проще всего “распарсить” текст глазами, когда он выглядит вот так. Возможно, в этом мне поможет tk.Table?
Офлайн
Думаю будет правильнее взять Qt. Вы ничего не сказали о том почему не подходит чисто Web технология. Те сервер + броузер для отображения. Такая связка как раз предназначена для показа текста с разным форматированием.
Отредактировано doza_and (Сен. 13, 2015 15:53:13)
Офлайн