Сделать Tk похожим на родное приложение для Linux - PullRequest
36 голосов
/ 28 июня 2011

Просматривая веб-сайт TkDocs , кажется, что Tk прошел долгий путь в отделе "родного внешнего вида".Но, глядя на некоторые из этих скриншотов , кажется, что они подведены в Linux.Если вы прокрутите эту страницу вниз, вы увидите скриншот Mac, который выглядит точно так же, как Mac, скриншот Windows XP, который выглядит точно так же, как Windows XP, и скриншот Linux, который выглядит как ... ну, Windows 98 (или Windows XP с классическимстиль).

Я знаю, что в Linux нет «родного внешнего вида», поскольку каждый инструментарий имеет свой стиль.Но мне интересно, есть ли способ стилизовать Tk, чтобы он выглядел как GTK или Qt (предпочтительно Gtk), чтобы он сочетался с большинством других приложений на рабочем столе Linux.

Как насчет Windows Vista/ 7?Я не видел скриншотов Tk на этих платформах.

Ответы [ 4 ]

19 голосов
/ 28 июня 2011

Tk имеет в основном два набора виджетов, классические виджеты и тематические виджеты. Классические виджеты используются по умолчанию из-за необходимости поддержки старых приложений, но новый код должен использовать тематические виджеты . (Они не могут быть перегружены, потому что они работают совершенно по-разному, и есть много кода, который зависит от старого классического способа. Увы.) При правильной теме тематические виджеты (обычно называемые Ttk) выглядят родной и ведет себя нативно в Windows и OSX.

Существуют частичные темы Ttk, которые делегируются Gtk и Qt ( эта презентация с прошлого года показывает их в действии), но они частичные, в значительной степени из-за низкого качества тем ( Темы Gtk / Qt, а не темы Ttk, это сбивает с толку!) При обычном использовании с этими инструментами. Основная проблема, по-видимому, заключается в представлении метрик, которые часто кажутся неправильными (в результате виджеты получают неправильный размер или визуальные элементы помещаются в неправильное место); Из разговора с автором этой статьи я понимаю, что значительная часть тем работает только с Gtk / Qt, но не может проверить это по личному опыту. (Я использую OSX, поэтому использую прямую поддержку Ttk.)

8 голосов
/ 28 октября 2016

Для нетерпеливых пользователей современного дистрибутива Linux:

echo '*TkTheme: clam' >> ~/.Xresources
xrdb -merge ~/.Xresources

Затем перезапустите приложение на основе Tk.

Вот что ожидать (показан git gui):

applied tk theme

Слева находится git gui, запущенный после выполнения вышеуказанной команды. Обратите внимание, как изменилась панель, кнопки тоже.

5 голосов
/ 14 ноября 2012

PySolFC включает в себя приятный современный внешний вид, который также можно использовать с другими приложениями Tk.
Стефан Соколов пишет об этом в своем блоге :

2 голосов
/ 28 июня 2011

Как видно из того, что я периодически слышал в основном списке рассылки Python, виджеты Themed TK (TTK) являются настраиваемыми и могут либо имитировать нативные виджеты, либо делать свое дело и хорошо выглядеть. Смотри http://www.tkdocs.com/tutorial/styles.html.

Из опыта Tk (по крайней мере, через Python) выглядит как дерьмо. Я поднял тест для вас на Windows 7: http://sadpanda.us/images/542945-LNUGO0F.jpg. По умолчанию не особо выглядит!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...