Как я могу улучшить внешний вид графического интерфейса Perl / TK под Perl 5.004?

StackOverflow https://stackoverflow.com/questions/611111

Вопрос

У меня есть приложение, созданное для работы в Windows, Linux и Solaris, которое использует графический интерфейс Perl / TK . Из-за ограничений мы ограничены только Perl / TK . Кроме того, мы ограничены старой версией Perl / Tk , 5.00404 .

Я бы хотел поработать с этими ограничениями, чтобы графический интерфейс выглядел максимально красиво и современно.

Существуют ли какие-либо веб-ресурсы со схемами дизайна ТЗ (для кнопок, рамок, цветов и т. д.), которые могли бы помочь мне в этом начинании? <Ч>

Я также ищу советы по модернизации, такие как здесь :

  

Если вы обнаружите, что ваши приложения Tk выглядят немного уродливо в системах на основе X, попробуйте добавить следующие строки в начало вашего скрипта:

$mw->optionAdd("*font", "-*-arial-normal-r-*-*-*-120-*-*-*-*-*-*");
$mw->optionAdd("*borderWidth", 1);
Это было полезно?

Решение

Попробуйте использовать изображения вместо элементов кнопок, тогда вы можете выбрать любой стиль и шрифты, которые можно запекать. Это будет работать практически для любого элемента, содержимое которого не является динамическим, включая фоны на панелях и т.п. Конечно, это больше работы, но она решает вашу проблему, особенно если у вас есть компетентный художник в вашей проектной группе.

Другие советы

Вы можете использовать механизм тем Tk , чтобы Приложение выглядит лучше.

Использование optionAdd для настройки значений по умолчанию через базу данных параметров разумное начало. Нить об этом можно найти по адресу:

http://tcl.projectforum.com/tk/221

Загрузите отсюда griffin.kit, используйте инструмент sdx, чтобы развернуть его и найдите griffin.tcl, чтобы получить хороший набор настроек параметров.

http://wiki.tcl.tk/3411 для инструмента sdx.

Поскольку в Linux фон Tk :: Entry и Tk :: Text серый, я бы также использовал следующие две строки.

$mw->optionAdd( '*Entry.background',   'snow1' );
$mw->optionAdd( '*Text.background',    'snow1' );

Замените «snow1» цветом на ваш выбор. Вы также можете использовать шестнадцатеричное представление (RGB) цветов, таких как «# ff9696».

Тематический движок Tile для Tk выглядит намного красивее. Тем не менее, Perl / Tk сильно отстает от развития Tk и не может использовать преимущества Tile и других достижений.

Вам следует выяснить, подходит ли вам Tkx . Он не полностью совместим с Perl / Tk, но API довольно близок. Это мост между Perl и Tcl / Tk, поэтому он может использовать все современные функции Tcl / Tk (например, Tile), сохраняя при этом логику приложения, закодированную в Perl. Многие из собственных графических утилит ActiveState используют Tkx с довольно хорошими результатами.
ActiveState PPM
(источник: activestate.com )

Perl 5.00404 невероятно древний. Tkx dist утверждает, что зависит от Perl & # 8805; 5.008 ... У меня недостаточно старого Perl, чтобы понять, насколько это точно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top