Как я могу улучшить внешний вид GUI Perl/TK под Perl 5.004?
у меня есть приложение, которое построено для работы в Windows, Linux и Solaris, которое использует Perl/TK
GUI. Из-за ограничений мы ограничены Perl/TK только. Более того, мы ограничены старым Perl/Tk
версия 5.00404
.
Я хотел бы работать в этих ограничениях, чтобы сделать GUI выглядеть как можно лучше и современнее.
есть ли какие-либо веб-ресурсы, которые имеют схемы дизайна TK (для кнопок, рамок, цветов и т. д.), которые могли бы помочь мне в этом усилия?
Я также ищу советы по модернизации, как тот, который я нашел здесь:
если вы обнаружите, что ваши приложения Tk выглядят немного уродливо в системах на основе X, попробуйте добавить следующие строки в верхнюю часть скрипта:
$mw->optionAdd("*font", "-*-arial-normal-r-*-*-*-120-*-*-*-*-*-*"); $mw->optionAdd("*borderWidth", 1);
5 ответов
попробуйте использовать изображения вместо элементов кнопки, тогда вы можете иметь любой стиль, который вам нравится, и шрифты могут быть испечены. Это будет работать практически для любого элемента, где содержимое не является динамическим, включая фоны на панелях и тому подобное. Конечно, это больше работы, но это решает вашу проблему, особенно если у вас есть компетентный художник в вашей проектной группе.
использование optionAdd для настройки значений по умолчанию через базу данных опций разумное начало. Нить об этом можно найти на:
http://tcl.projectforum.com/tk/221
скачать griffin.комплект оттуда, используйте инструмент sdx, чтобы развернуть его и найти грифон.TCL, чтобы получить хороший набор параметров.
http://wiki.tcl.tk/3411 для инструмента sdx.
на плитка themeable двигатель для Tk делает его выглядеть гораздо красивее. Однако Perl / Tk сильно отстает от развития Tk и не может воспользоваться преимуществами плитки и других достижений.
вы должны исследовать, будет ли Tkx Это вариант для вас. Он не полностью совместим с Perl / Tk, но API довольно близок. Это мост между Perl и Tcl/ Tk, поэтому он может использовать все современные функции Tcl / Tk (например, плитку), все еще имея приложение логика закодирована в Perl. Довольно много собственных графических утилит ActiveState используют Tkx, с довольно красивыми результатами.
ActiveState PPM http://docs.activestate.com/activeperl/5.8/images/ppm_gui.png
Perl 5.00404 невероятно древний. Tkx dist утверждает, что зависит от Perl≥5.008... У меня нет достаточно старого Perl, чтобы увидеть, насколько это точно.
поскольку в Linux фон TK:: Entry и TK:: Text Серый, я бы также использовал следующие две строки.
$mw->optionAdd( '*Entry.background', 'snow1' );
$mw->optionAdd( '*Text.background', 'snow1' );
замените 'snow1' на цвет по вашему выбору. Вы также можете использовать шестнадцатеричное представление(RGB) цветов, таких как "#ff9696".